2012-12-21 88 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