有人能解释一下xml:lang属性在HTML5中的作用吗?

时间:2010-11-16 22:45:04

标签: html5

我想知道xml:lang属性做了什么以及它在HTML5中的值是什么。并且xml:lang属性是否有任何限制?

4 个答案:

答案 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 syntaxxml: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属性值,以确保所有工具都能看到相同的语言。

langxml:lang的可能值为BCP47 language tags,例如美国英语为en-US,拉丁语为塞尔维亚语sr-Latn-RS塞尔维亚使用的脚本。有关详细信息,请参阅BCP47规范。

答案 2 :(得分:0)

HTML 5 uses XML规范中的定义。相关部分为2.12。它可以采用BCP 47""的值。

答案 3 :(得分:0)

  1. xml:lang是一个XML属性,因此您只应在XHTML文档中使用它,而不是在HTML文档中使用它。

  2. xml:lang指定内容写入的人类可读语言。

  3. 更多信息:http://www.w3.org/TR/REC-xml/#sec-lang-tag