是否有專門用於XHTML 5的驗證程序,即HTML 5的XML序列化?該W3C validator支持文檔類型:是否有XHTML 5驗證程序?
HTML 5 (experimental)
:它把未在XML允許作爲有效的各種功能,如隱式關閉<br>
標籤。- 幾個
XHTML 1.0
和XHTML 1.1
文檔類型,不承認在HTML 5
是否有專門用於XHTML 5的驗證程序,即HTML 5的XML序列化?該W3C validator支持文檔類型:是否有XHTML 5驗證程序?
HTML 5 (experimental)
:<br>
標籤。XHTML 1.0
和XHTML 1.1
文檔類型,不承認在HTML 5爲實際上HTML 5確實檢測和驗證XHTML 5 W3C驗證:
application/xhtml+xml
)。xmlns
屬性進行猜測。也就是說,這被確定爲XHTML(因此被正確標記爲無效):
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>test</title></head>
<body><br></body></html>
這被確定爲HTML(因此被正確標記爲有效):
<!DOCTYPE html><html>
<head><title>test</title></head>
<body><br></body></html>
編輯:顯然他們刪除了這個自動識別。請參閱this bug。
您可以使用Validator.nu(X)HTML5驗證(驗證的生活)的新標籤:
請注意,「生活驗證程序」意味着由於HTML 5規範本身不斷髮展,驗證程序也一樣 - 驗證結果可能會隨着時間的推移而變化(無效標記可能會變得有效,否則)。
而且,請注意,W3C驗證服務確認後明確規定:
位於<文件...>已成功選中爲HTML5。這意味着有問題的資源將自己標識爲「HTML5」,並且我們已成功對其進行了正式驗證。我們用於此檢查的解析器實現基於validator.nu(HTML5)。
所以Validator.nu實際上是的(X)HTML5驗證。
您需要了解驗證器如何確定它是處理HTML還是XHTML。
在HTML5之前,這是使用DOCTYPE完成的,但是HTML5不再可行。無論如何,這絕不是一個好主意,因爲這不是瀏覽器所做的。
相反,通過HTTP提供HTML5網頁,驗證器遵循瀏覽器行爲並使用內容類型設置確定HTML序列化。
考慮這個標記:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test</title>
</head>
<body>
Before Malformation
<br>
After Malformation
</body>
</html>
可見過送達的內容類型的text/html
這裏:
http://www.alohci.net/text/html/malformed.htm.ashx
這裏驗證:
請注意,在瀏覽器中都顯示Before Malformation
和After Malformation
,驗證器會傳遞HTML。
相同的標記供應與內容類型的application/xhtml+xml
這裏:
http://www.alohci.net/application/xhtml+xml/malformed.htm.ashx
,並在這裏驗證:
注意,在Firefox中你得到一個黃色屏幕在IE9中只顯示文字Before Malformation
,而在Chrome中,文字爲Before Malformation
在下面顯示一個大的錯誤消息。驗證器報告錯誤。
---
現在,當你直接輸入加價,使驗證沒有任何內容類型信息去,它使一個猜測,因爲你已經發現,基於xmlns屬性上html元素。這隻能是猜測,因爲值爲http://www.w3.org/1999/xhtml
的xmlns屬性在HTML序列化中是有效的。
其實,看起來我錯了; W3C驗證器檢查XHTML。 –
請注意,W3C HTML5驗證程序實際上*使用* html5.validator.nu代碼庫(並且它也指出驗證成功後) – vaxquis