回答
應該爲HTML5的XML序列化指定什麼doctype?
從the docs:如果需要
XML文檔可能包含一個DOCTYPE,但這不是必須符合本規範。本規範沒有定義公共或系統標識符,也沒有提供正式的DTD。
所以沒有標準的DTD,所以你不應該提供任何的Doctype(除非你先寫一個DTD)。
保持文件擴展名爲HTML我可以告訴大家,內容XHTML5的瀏覽器?
文件擴展名與WWW無關。 Content-Type HTTP響應標頭應該是application/xhtml+xml
。
從本地文件系統打開文件時,擴展名確實有所不同。更重要的是,由於驗證問題,我問了這個問題。由於例如有驗證錯誤void元素具有單獨的關閉標籤,這些標籤在xml中是有效的 – Nitesh
「當從本地文件系統打開文件時,擴展名確實有所改變。」 - 這是XHTML的一種非典型用法,因爲您在問題中沒有提及它合理地假設你正在談論WWW。軟件使用文件擴展名來確定本地系統上的文件類型,所以不要給他們.html文件擴展名。 – Quentin
「由於例如void元素具有單獨的關閉標籤,這些驗證錯誤在xml中是有效的」 - 這是您沒有提到的其他內容。您需要找到一個支持XHTML的驗證器。如果您爲XHTML編寫了DTD,那麼這可能是標準的XML驗證程序。 XHTML沒有標準的DTD。 – Quentin
XHTML5的「文檔類型」是<!DOCTYPE html>
。
嚴格來說,HTML5沒有文檔類型。它只有一個「看我,我是一個HTML5文檔」標記,它恰好類似於在Web瀏覽器中觸發標準模式的doctype聲明。正如你所說,由於XHTML5只不過是HTML5的XML序列化,所以其「doctype」與HTML5相同。
如果您問的是MIME類型,那麼就像通常的XHTML文檔那樣,它就是application/xhtml + xml。文檔類型對文檔是作爲HTML標籤湯還是作爲XML提供沒有任何影響。
任何使用XHTML都應該暗示它現在是一個XML文檔。這是XHTML的唯一要求,儘管許多網站已經將XHTML作爲「text/html」MIME類型(由Web服務器設置)提供,儘管它應該是「application/xhtml + xml」。因此,您的Web服務器應配置爲將XHTML作爲XML提供。一旦它作爲XML文檔類型提供,如果網頁瀏覽器沒有完美形成和驗證的XML,則網頁將無法解析。
- 1. 什麼是反序列化和序列化xml文檔的最快方法?
- 2. 這是什麼類型的序列化?
- 3. 這是什麼類型的對象? XML序列化/反序列化
- 4. 什麼是html5文檔的正確MIME類型?
- 5. 聲明HTML5文檔類型的正確方法是什麼?
- 6. 序列化XML文檔
- 7. 序列化到XML文檔
- 8. 嚴格XML語法的HTML5的MIME類型(XHTML5 ??,適用於Mobile Safari)?
- 9. XML文檔的序列化(System.InvalidOperationException)
- 10. 什麼更好:反序列化對象與Xpathing對XML文檔?
- 11. 文檔類型「externalapp」 - 它是什麼?
- 12. 將要序列化爲XML的類的XML屬性的目的是什麼?
- 13. HTML5文檔類型嚴格
- 14. XML序列化類型的錯誤
- 15. 集合類型的XML序列化
- 16. bool類型的xml序列化錯誤
- 17. VB.Net序列化匿名類型的XML
- 18. 什麼是序列化和反序列化到XML
- 19. 爲什麼序列化模型類
- 20. 爲什麼CLR對象類型是可序列化的?
- 21. 爲什麼不是Option [String]類型的成員被序列化?
- 22. 序列化爲XML幷包含序列化對象的類型
- 23. 序列化成XML片段 - 不是XML文檔
- 24. XML序列化 - 有什麼不對的
- 25. 使用iframe的HTML5文檔類型
- 26. 序列化到XML文件創建無效的XML文檔(11,12)
- 27. 反序列化Xml文檔錯誤
- 28. XMLSerializer無法反序列化xml文檔
- 29. 這是什麼類型的xml元素?
- 30. 如何驗證PHP中的XHTML5文檔?
這聽起來像是一個XY問題:您遇到了問題,並且您試圖通過將某些文件作爲XHTML提供來解決它。帶來新的問題。那麼,你試圖解決的原始問題是什麼?我們先來看看。 –