看到这个问题:At the end of the day, why choose XHTML over HTML?
但所有答案都来自2009年。从死亡的XHTML 2.0和现在的XHTML5开始,目前的共识是什么?这些天有没有真正的理由使用(或不使用)XHTML?
答案 0 :(得分:-1)
问题是不关于HTML与XHTML,问题是关于HTML解析器与XML解析器。
假设您已使用XHTML标头投放了一个页面,则媒体类型/ mime为application/xhtml+xml
。唯一值得注意的不支持XHTML的浏览器版本是Internet Explorer 8,但是如果您在2017年或之后阅读(2017年10月发布),即使IE11与最低限度相关。所以浏览器支持不再是一个考虑因素。虽然Internet Explorer 5技术上拥有 XML解析器,但它只能识别application/xml
媒体类型/ mime。
一旦超出浏览器支持,要问的正确问题是:HTML解析器和XML解析器之间有什么区别?我遇到了六位数并且不知道XML解析器是什么的开发人员。解析器通常采用代码并创建数据结构;在两种情况下都是DOM(文档对象模型)。如果两者产生相同的DOM,那么为什么差异以及为什么重要?
XML解析器是严格的。如果你住在一个“XML社区”,你必须每两周剪草一次,你必须在下午6点之前把垃圾桶放进去,即使在你的车库也没有无法操作的汽车,邻居的阿妈经常在街上巡逻那些敢于停下来甚至几秒钟的朋友。
HTML解析器不严格。如果你住在“HTML社区”,你可以让你的草坪像亚马逊雨林一样,在路边一次收集几堆垃圾,无法操作的汽车停在草坪上一半,一半停在你的生活中房间和醉酒的流浪汉小群成群结队地在附近徘徊。
当然,有很多网站使用符合标准的HTML构建,但绝大多数文本/ html网站都是中等到低质量的。没有编码或不正确编码的值和实体的属性有两个简单的例子。
如果您的目标是获得最佳效果,那么您需要使用XHTML5进行编码。具体来说:您将使用使用XML解析器呈现的HTML5。 Gecko(Firefox / Waterfox)会破坏整个页面并给你一个错误信息。有些人真的不喜欢我喜欢它。如果你不知道这个问题,就不会期望你会解决它。其他引擎(Presto /(真实)Opera,Blink / Chrome,WebKit / Safari)将呈现 解析错误。
总会有反对者在心理上决定忽视客观性并盲目地相信做他们所知道的其他人正在做的事情本质上是优越的,因为自我主义比客观性更重要。但是,如果你没有停留在这样的错误概念上,并希望提高你的编程能力,那么就能更快地从错误中恢复,并意识到大多数不是这样的概念会给你带来的好处,大多数其他设计师/开发人员都没有我建议尽可能严格地使用XML解析器和编码。计算机只能帮助您在您决定制作的级别制作。