2012-12-21 89 views

回答

9

http://www.w3.org/TR/html401/struct/dirlang.html

这个属性的默认值是未知的。

+0

或者更新(更加复杂)的定义:http://www.w3.org/TR/html5/dom.html#attr-lang –

+0

好的,谢谢:-) –

+2

这并不完全正确。阅读[继承](http://www.w3.org/TR/html401/struct/dirlang.html#h-8.1.2)部分,其中指出默认值可以来自许多来源(类似于在我的答案中引用了HTML5规范)。 –

3

HTML5 spec进入比HTML4.01稍微详细:

如果既不是节点还是任何节点的祖先,包括根元素的,要么属性集,但有一个pragma-设置默认语言集,那么这就是节点的语言。如果没有编译指示集默认语言集,则来自更高级别协议(例如HTTP)的语言信息(如果有)必须用作最终的回退语言。在没有任何这样的语言信息的情况下,并且在上级协议报告多种语言的情况下,节点的语言是未知的,并且对应的语言标记是空字符串。

因此总结说,一个节点的lang由以下因素决定:

  • 我们谈论根节点因此节点或祖先(在这种情况下的xml:lang属性值没有祖先)

  • 节点的lang属性值或其祖先

  • pragma-set default language

  • HTTP标头(来自其他一些协议或细节,如果不是HTTP)

  • 如果没有上述情况,则该值是未知的

+0

注意,虽然在'html'元素的'text/html'中,'xml:lang'不是XML名称空间中的'lang'属性,而是没有名称空间中的'xml:lang'属性,所以它的设置会不适用。 – Alohci