我想知道xml:lang屬性做了什麼,它在HTML5中的值是什麼。並且xml:lang屬性是否有任何限制?有人能解釋一下xml:lang屬性在HTML5中的作用嗎?
回答
由於標準草案在3.2.3.3 The lang
and xml:lang
attributes中解釋,它是標準lang
屬性的XML變體,用於指定文檔的自然語言。它可以取任何由BCP47定義的值。但請注意,如果您擁有XML文檔或者還要定義lang
屬性,則只能使用xml:lang
屬性,而在後一種情況下,它們必須具有相同的值。這是因爲xml:lang
僅允許簡化舊XHTML文檔的轉換:
作者不得在HTML文檔的HTML元素的XML名稱空間中使用lang屬性。爲了簡化XHTML之間的遷移,作者可以在沒有名稱空間的情況下指定一個沒有前綴的屬性,並在HTML文檔中的HTML元素上使用文本本地名「xml:lang」,但只有在沒有名稱空間中的lang屬性時才能指定這些屬性也是指定的,並且這兩個屬性在用ASCII不區分大小寫的方式進行比較時必須具有相同的值。
xml:lang
是XML屬性,因此,你應該只在XHTML文檔,而不是HTML文檔中使用它。 其中人類可讀語言的內容是寫在
xml:lang
指定
要了解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
,那麼它是 作爲XML文檔被Web瀏覽器 處理,以由XML 處理器進行解析。提醒作者 XML和HTML 的處理有所不同;特別是即使是較小的 語法錯誤也會阻止標記爲XML的文檔 完全呈現爲 ,而在HTML語法中它們將被忽略 。本規範 定義了最新的XHTML語法,簡稱爲「XHTML」,簡稱爲 。DOM,HTML語法和XML 不能全部表示相同的內容。 例如,使用HTML語法表示名稱空間不能爲 ,但在DOM和 XML中支持它們。同樣,使用HTML語法可以將使用
noscript
功能的文檔表示爲 ,但不能使用DOM或XML表示 。 包含字符串「-->
」 的註釋只能在DOM中表示, 不在HTML和XML語法中。
HTML語法是您可能使用的語法;它更容忍錯誤,XHTML語法本身不受IE的支持。
In the HTML syntax,xml:lang
屬性是沒有意義的。它什麼都不做。如果要設置語言,請使用lang
屬性,該屬性也適用於XHTML語法。使用lang
屬性將指定該元素及其子元素的默認語言,可用於選擇要使用哪種字體(您可以使用:lang()
CSS選擇器自行控制它)。在HTML語法中,只有同時提供lang
屬性並且具有相同的值時才允許包含xml: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規範。
- 1. 有人可以解釋HTML5中的contextmenu屬性嗎?
- 2. 有人可以解釋HTML5 aria- *屬性嗎?
- 3. 有人能解釋一下這個程序的工作嗎?
- 4. PHP引用,奇怪的現象,有人能解釋一下嗎?
- 5. 有人能解釋一下「ecdh_tmp_cb」回調的用法嗎?
- 6. 有人可以解釋一下嗎?
- 7. 有人能解釋一下這些ApacheBench結果的含義嗎?
- 8. 有人能解釋一下這個node.js代碼的含義嗎?
- 9. 有人能解釋一下EmberJS Fastboot的特別之處嗎?
- 10. 有人能解釋一下去年的reddit漏洞嗎?
- 11. 有人能解釋下面的代碼示例中'r'對象的作用嗎?
- 12. 有人能解釋一下這意味着什麼嗎?
- 13. CSS box-shadow:有人能解釋一下Bootstrap中使用的簡短語法嗎?
- 14. 有人能解釋一下這個while循環是如何工作的嗎?
- 15. 有人能解釋一下這個RSpec存根是如何工作的嗎?
- 16. 有人可以解釋方法屬性上的Python hasattr/delattr嗎?
- 17. 有人可以解釋一下VIEWS&JOIN在SQL Server中的工作原理嗎?
- 18. 有人可以解釋一下com.google.inject的用途嗎?
- 19. 有人可以解釋一下Java中的Function對象嗎?
- 20. 有人能解釋矩陣(Mr.Anderson)嗎?
- 21. 有人可以解釋在XHTML5中使用了xml:base屬性麼?
- 22. 可能有人向我解釋下面的os.fork()例子嗎?
- 23. 有人能解釋我下面的例子嗎?
- 24. 有人可以解釋這個C#靜態類屬性嗎?
- 25. 如何有效地使用xml:lang屬性?
- 26. 有人能解釋一下自我功能在numpy中使用什麼
- 27. 你能解釋一下「django.contrib.auth」對我的作用嗎?
- 28. 你能解釋一下這個javascript代碼的作用嗎?
- 29. 有人可以解釋嗎?
- 30. 有人可以解釋這個Objective-C屬性聲明的每一個字嗎?
我認爲這對於隨便的讀者來說是值得澄清的:你的答案和引用塊的最後一句特別適用於「HTML文檔」。但請注意,符合HTML5的文檔可能不是HTML文檔!閱讀下面的所有答案以獲取更多詳細信息。 – 2014-04-10 19:49:58