任何见解都将非常有用。
简而言之:使用HTML5,因为text/html XHTML将被解析为HTML5,并且正确的XHTML可能会出现严重错误。
当前的浏览器实际上已不再支持HTML4或XHTML/1.x。它们将所有文档视为HTML5/XHTML5(例如,即使您设置了HTML4或XHTML/1.x DOCTYPE,<video>
也可以正常工作)。
你的选择并不是在HTML5和XHTML之间,而是在text/html
和XML
解析模式以及怪癖和标准渲染模式之间。浏览器引擎与W3C规范的版本不一致。
真正的选择是:
怪异模式 vs 标准模式。 "怪异"是模拟IE5的错误和盒子模型。如果您未放置DOCTYPE
或使用过时的DOCTYPE
之一(如HTML4过渡),则会出现问题。
明显的选择是在每个文档中放置(任何)现代DOCTYPE
,以启用标准模式。
text/html
vs application/xhtml+xml
。 XML模式启用了HTML中没有的XHTML功能(例如命名空间和所有元素上的自关闭语法),最重要的是启用了严格的错误处理。
注意:无法从文档内部启用XML模式。启用它的唯一方法是通过真正的Content-Type
HTTP头(为此目的,<meta>
和DOCTYPE
将被忽略!)
在WAP和XHTML Basic时代,XML模式应该是移动设备的最佳选择,但实际上结果证明这是一种幻想!
如果您使用application/xhtml+xml
模式,您的页面将无法访问许多GSM连接的用户!HTML5和XHTML并不是互相排斥的选择。您可以同时使用两者(XHTML 5),或者都不使用(HTML 4)。
我不建议立即编写[X]HTML5文档,因为该标准尚未完成,更别说任何实现了。我们在一些浏览器中可用的“HTML5”功能通常是不影响HTML标记级别的脚本扩展。
我的理解是,iPhone和Blackberry都还没有完全支持HTML 5。因此,除非您需要某些特定的HTML 5功能,否则我建议您使用XHTML。
随便选一个。XHTML只是HTML的XML语言序列化,因此实际上它只是以不同方式编码的DOM节点。(也许我可以创建一个HTML的JSON序列化版本?) 实际上,SGML或XML序列化的选择取决于设备是否支持。苹果使用WebKit,它完全支持XHTML。
记得将你的XHTML发送为application/xhtml+xml,否则它将不会被视为XHTML!
哦...还有一件事。所有我知道的浏览器都支持XHTML,除了IE。