我想知道xml:lang属性做了什么以及它在HTML5中的值是什么。并且xml:lang属性是否有任何限制?
答案 0 :(得分:4)
正如标准草案在3.2.3.3 The lang
and xml:lang
attributes中解释的那样,它是标准lang
属性的XML变体,指定了文档的自然语言。它可以采用BCP47定义的任何值。但请注意,如果您拥有XML文档或定义xml:lang
属性,则只能使用lang
属性,在后一种情况下,它们必须具有相同的值。这是因为xml:lang
仅允许简化旧XHTML文档的转换:
作者不得在HTML文档中的HTML元素中使用XML命名空间中的lang属性。为了简化与XHTML之间的迁移,作者可以在没有前缀的名称空间中指定一个属性,在HTML文档中的HTML元素上指定文字本地名“xml:lang”,但只有在没有名称空间的lang属性时才能指定这些属性。还指定了,并且在以ASCII不区分大小写的方式比较时,两个属性必须具有相同的值。
答案 1 :(得分:2)
要了解xml:lang
属性,您需要熟悉HTML5的两种不同语法the HTML syntax and the XHTML syntax:
有各种具体的语法 可用于传输资源 使用这种抽象语言,两个 其中定义了这个 说明书
第一个这样的具体语法是 HTML语法。这是格式 建议大多数作者。它是 与大多数遗留Web兼容 浏览器。如果传输文件 使用HTML MIME type,例如
text/html
,然后它将被处理 作为Web浏览器的HTML文档。 该规范定义了最新的 HTML语法,简称为“HTML”。第二个具体语法是 XHTML语法,这是一个应用程序 XML。传输文档时 使用XML MIME type,例如
application/xhtml+xml
,那就是 被Web视为XML文档 浏览器,由XML解析 处理器。提醒作者 处理XML和HTML 不同;特别是,甚至是轻微的 语法错误会阻止文档 标记为XML来呈现 完全,但他们会被忽略 在HTML语法中。这个规范 已知定义最新的XHTML语法 简单地称为“XHTML”。DOM,HTML语法和XML 不能都代表相同的内容。 例如,名称空间不能 用HTML语法表示,但是 他们在DOM和中支持 XML。同样,使用的文件 可以表示
noscript
功能 使用HTML语法,但不能 用DOM或XML表示。 包含字符串“-->
”的评论 只能在DOM中表示, 不是HTML和XML语法。
HTML语法是您可能使用的语法;它更容忍错误,并且IE本身不支持XHTML语法。
In the HTML syntax,xml:lang
属性毫无意义。它什么都不做。如果要设置语言,请使用lang
属性,该属性也适用于XHTML语法。使用lang
属性将指定该元素及其子元素的默认语言,可用于选择要使用的字体(您可以使用:lang()
CSS选择器自行控制)。在HTML语法中,仅当还提供xml:lang
属性且具有相同值时,才允许包含lang
属性;这可以确保不会因为它们不同而产生混淆,lang
属性是浏览器实际关注的属性。
在XHTML语法中,xml:lang
属性具有语义defined by the XML specification。在确定一段文本的语言时,在XHTML中,xml:lang
属性先于,但如果不存在,则lang
属性用于确定语言(用于字体选择)和:lang()
CSS选择器。)
最好只使用lang
属性。这将适用于您可能正在使用的HTML语法,如果您最终使用它,则可以使用XHTML语法。如果您必须使用完全不了解HTML的XML工具来处理代码,并且需要定义语言,那么您可以同时使用lang
属性和xml:lang
属性值,以确保所有工具都能看到相同的语言。
lang
和xml:lang
的可能值为BCP47 language tags,例如美国英语为en-US
,拉丁语为塞尔维亚语sr-Latn-RS
塞尔维亚使用的脚本。有关详细信息,请参阅BCP47规范。
答案 2 :(得分:0)
答案 3 :(得分:0)
xml:lang
是一个XML属性,因此您只应在XHTML文档中使用它,而不是在HTML文档中使用它。
xml:lang
指定内容写入的人类可读语言。