2017-10-16 256 views

回答

-1

的问题是关于HTML与XHTML,问题是关于HTML解析器对XML解析器。

假设您已经为XHTML标头提供了页面,媒体类型/ MIME是application/xhtml+xml。唯一不支持XHTML的着名浏览器版本是Internet Explorer 8,但是如果您在2017年或以后阅读此文件(2017年10月发布),甚至IE11也是微不足道的。所以浏览器支持不再是一个考虑因素。尽管Internet Explorer 5只识别application/xml媒体类型/ MIME,但技术上拥有 XML解析器。

一旦你通过浏览器支持,问的正确问题是:HTML解析器和XML解析器有什么区别?我遇到了六位数字的开发人员,他们不知道XML解析器是什么。解析器通常需要代码并创建一个数据结构;在这两种情况下,DOM(文档对象模型)。如果两者都生成相同的DOM,那么为什么差异以及它为什么重要?

XML解析器是严格的。如果你住在一个“XML社区”,你必须每两周剪草一次,你必须在下午6点前准备好垃圾桶,即使在你的车库里也不能有不可操作的汽车,邻居的奶奶们经常在街上巡逻那些敢于停下来徘徊几秒钟的朋克青少年。

HTML解析器并不严格。如果你住在“HTML社区”,你可以让你的草坪像亚马逊热带雨林一样,一堆一堆垃圾在路边收集几个月,不可操作的汽车停在一半的草坪上,一半停在你的生活中房间和醉酒的流浪汉群体漫步在附近。

当然,有很多网站使用符合标准的HTML构建,但绝大多数text/html网站的质量都是中等水平。没有价值的实体和没有编码或不正确编码的实体就是一些简单的例子。

如果您想要获得最佳效果,您可以使用XHTML5进行编码。具体来说:您将使用通过XML解析器呈现的HTML5。 Gecko(Firefox/Waterfox)会打破整个页面并给你一个错误信息。不过,我喜欢它,但有些人真的不喜欢它。如果你没有意识到这个问题,那么你不会期望你会修复它。其他引擎(Presto /(真实)Opera,Blink/Chrome,WebKit/Safari)会渲染高达的解析错误。

总会有一些反对者在心理上决定忽视客观性,盲目地相信他们所知道的每个人都在做的事情本质上是优越的,因为自我主义比客观性更重要。然而,如果你没有停留在这种错误的想法上,想要提高编程能力,更快地从错误中恢复过来,并且意识到大多数不是这样的概念,这会给大多数其他设计人员/开发人员所没有的优势,我建议尽可能严格使用XML解析器和编码。计算机只能帮助你在你决定生产的水平上生产。