他們不重複。 XHTML的XML名稱空間和doctype聲明不一樣。 xml:lang
和lang
屬性都沒有。 XHTML 1.0 specification要求包括所有這些。
如由XHTML 1.0 Strict DTD描述的<html>
元件的屬性列表如下:
<!ATTLIST html
%i18n;
id ID #IMPLIED
xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
>
(其中%i18n
是代表xml:lang
,lang
和dir
國際屬性內部實體,見下文)
注意第四行。它說xmlns
是給定URI值的屬性,並且修復了該名稱空間URL的。這意味着,如果您省略該屬性或給它一個不同的名稱空間,那麼您的文檔就是無效嚴格的XHTML。
的%i18n
實體對應於這些屬性:
<!-- internationalization attributes
lang language code (backwards compatible)
xml:lang language code (as per XML 1.0 spec)
dir direction for weak/neutral text
-->
<!ENTITY % i18n
"lang %LanguageCode; #IMPLIED
xml:lang %LanguageCode; #IMPLIED
dir (ltr|rtl) #IMPLIED"
>
的lang
屬性是爲了向後兼容(即HTML≤4.01),並xml:lang
由XML 1.0(因此命名空間xml
這裏看到)中所述。我不太確定xml:lang
應該在lang
之前的確切原因,但是鑑於XHTML僅僅是HTML「重寫」成XML語法(可以這麼說),所以它是有意義的。
如果未指定,dir
屬性默認爲ltr
(從左到右的文本),因此它不是必需的屬性。
事實上,點#4 – developmentalinsanity 2010-10-27 10:11:40
XHTML 1.0規範的鏈接是http://www.w3.org/TR/xhtml1/#docconf – BoltClock 2010-10-27 10:13:15