即使HTML5是HTML的前进道路,我们也有两个选择:开发人员:XHTML语法和HTML语法.我已经使用XHTML作为我的主要doctype 5年左右,所以我很满意它.
但我的问题是允许使用非xml语法,有没有理由坚持使用有效的XML语法?除了偏好(兼容性等)之外,你是否获得了一个与另一个相关的东西?就个人而言,我会感觉有点脏,回到不关闭标签,
现在是我的第二天性,但我会获得回归HTML语法的东西吗?
更新:我想我的真正问题是有理由从XHTML切换到HTML语法吗?我已经使用XHTML多年了,不确定是否有理由转回来.浏览器兼容性(IE有时候与应用程序/ xhtml + xml mime类型相同)等等?
XHTML语法的优点是它是XML.它可以很容易地解析,理解和操纵.对于客户来说,HTML语法要困难得多.
废话!HTML5规范定义了如何以相对容易实现的方式解析HTML,并且正在开发可以轻松集成到工具链中的现成解析器.甚至可以将HTML5解析器集成到XML工具链中以代替XML解析器.
但是你需要理解的是,在实践中,你最有可能使用HTML,即使你认为你正在使用基于DOCTYPE的XHTML.如果您的内容以text/html格式提供,而不是application/xhtml + xml或其他XML MIME类型,那么您的内容将作为HTML处理.
使用HTML5,您可以选择使用纯HTML语法,这意味着它只与作为text/html提供和处理的软件兼容,而不是格式良好的XML.或者使用仅XHTML语法,这意味着它是格式良好的XML,但使用与HTML不兼容的XML功能.或者,您可以编写一个符合HTML和XHTML处理的Polyglot文档(原则上,这在概念上类似于编写符合附录C指南的XHTML 1.0).
我想我的真正问题是有理由从XHTML切换到HTML语法吗?我已经使用XHTML多年了,不确定是否有理由转回来.浏览器兼容性(IE有时候与应用程序/ xhtml + xml mime类型相同)等等?
如前面的答案所述,text/html
它被解析为HTML application/xhtml+xml
并被解析为XML.因此,您应该使用与您使用的MIME类型匹配的语法.
如果您现在正在text/html
使用XHTML语法,那么您应该修改内容以使用HTML5语法.您可能已经接近了,因为HTML5允许/>
void元素的XMLesque 空元素语法(总是为空的元素,例如img
和br
).
如果您现在正在使用application/xhtml+xml
,text/html
如果您关心支持IE ,IE支持将成为切换到HTML语法的理由.
尝试编写正确HTML5和XHTML5的多语言文档(用于提供不同的MIME类型,使用相同的有效负载字节进行不同的浏览器)比初看起来更难,不值得麻烦.
HTML5草案非常清楚使用哪种语法:
在以text/html格式发送页面时使用HTML语法
在将页面作为application/xhtml + xml发送时使用XHTML语法
参考:http://dev.w3.org/html5/spec/Overview.html#authors-using-xhtml