即使HTML5是HTML的前进路径,我们作为开发人员也有两个选项: XHTML语法和HTML语法。我已经使用XHTML作为我的主要文档类型已经5年左右了,所以我对它非常满意。
但我的问题是,非XML语法将被允许,是否有任何理由坚持一个有效的XML语法?除了偏好(兼容性等)之外,你还能从中得到什么吗?就我个人而言,我会觉得有点不爽,
现在对我来说是第二天性,但是我会得到一些回到HTML语法的东西吗?
更新:我想我真正的问题是,是否有理由从语法切换到语法?我已经使用XHTML多年了,并且不确定是否有理由切换回来。浏览器兼容性(IE有时与应用程序/xhtml+xml mime类型的兼容性很差),等等?
发布于 2009-07-03 13:32:38
我想我真正的问题是,是否有理由从XHTML转换为HTML语法?我已经使用XHTML多年了,并且不确定是否有理由切换回来。浏览器兼容性(IE有时与应用程序/xhtml+xml mime类型的兼容性很差),等等?
正如前面的答案所提到的,text/html被解析为HTML,application/xhtml+xml被解析为XML。因此,您应该使用与您使用的MIME类型匹配的语法。
如果您现在为text/html服务,但使用XHTML语法,那么您应该修复您的内容以使用HTML5语法。您可能已经关闭了,因为HTML5允许XMLesque />空元素语法(总是为空的元素,如img和br)。
如果您现在正在使用application/xhtml+xml,如果您关心支持IE,那么IE支持将成为切换到text/html和HTML语法的一个理由。
尝试编写正确的HTML5和XHTML5 (用于服务不同的MIME类型,使用相同的有效负载字节的不同浏览器)比乍一看要困难,不值得麻烦。
发布于 2009-07-02 23:14:36
XHTML语法的优点是它是XML。它可以很容易地被分析,理解和操纵。对于客户端来说,HTML语法更难使用。
废话!HTML5规范定义了如何以一种相对容易实现的方式解析HTML,并且正在开发现成的解析器,这些解析器可以很容易地集成到工具链中。甚至可以将HTML5解析器集成到XML工具链中,而不是XML解析器。
但是您需要理解的是,在实践中,您最有可能使用HTML,即使您认为您使用的是基于DOCTYPE的XHTML。如果您的内容被用作text/ HTML,而不是application/xhtml+xml或其他XML类型,那么您的内容将被处理为HTML。
使用HTML5,您可以选择使用HTML5语法,这意味着它只与作为text/html提供的服务和处理兼容--它不是格式良好的XML。或者只使用XHTML语法,这意味着它是格式良好的XML,但是使用了与HTML不兼容的XML特性。或者,您可以编写一个Polyglot文档,它符合并兼容HTML和XHTML处理(原则上,这与编写符合附录C准则的XHTML1.0类似)。
发布于 2009-07-02 23:25:47
HTML5草案非常清楚地说明了使用哪种语法:
参考资料:http://dev.w3.org/html5/spec/Overview.html#authors-using-xhtml
https://stackoverflow.com/questions/1076897
复制相似问题