XHTML 2 与 HTML 5 依旧背道而驰

  • Matthew Bass
  • 张龙

2008 年 8 月 11 日

话题:Java.NETRuby编程语言JavaScript语言 & 开发架构

XHTML 与 HTML 这两个标记标准的出现是为了取代之前老式的 web 标准。乍看缩写会以为这两个规范比较类似,但事实上,这两者的目标截然不同,所解决的问题也大相径庭。

XHTML 2符合 web 所依赖的 HTML 的设计原理。它不断精化 XHTML 1.x,以求更清晰的定义,同时还提供一些增强,如改进的超链接、注解、交互式表单以及特定语义。XHTML 2 主要面向的是早期 web 所具有的优势:渲染文档以及其中的链接。W3C 下的一个工作组于 2002 年正式启动 XHTML 2 标准的开发。

HTML 5最终将取代 HTML 4。除了增强的标记以外,它还提供了几个新的 API 来处理多媒体、历史、编辑等等,InfoQ 在 1 月份对此曾作过报道。HTML 5 的发起者其实并不是 W3C 发起的,而是WHATWG(Web Hypertext Application Technology Working Group,即 Web 超文本应用技术工作组)在 2004 年发起的。WHATWG 工作组觉得 XHTML 2 在文档渲染上注入了太多精力,没有为论坛、电子商务 portals 及其他非文档为中心的站点提供合适的标记特性。W3C 于 2007 年将 HTML 5 纳入旗下。

XHTML 2 与 HTML 5 使用不同的命名空间。这样一来,相同的 XML 处理器能够同时实现这两种不同的标准。HTML 5 支持 text/HTML 及 XML 序列化。但内建于 HTML 5 中的 XML 序列化被称为“XHTML 5”,这就难免会有人把它与 XHTML 混淆起来。

XHTML 2 标准与之前的 XHTML 1.x 或者 HTML 4 并不兼容,但 HTML 5 与 HTML 4 在一定程度上却还是兼容的。从 HTML 4 到 HTML 5 的移植要比从 XHTML 1.x 到 XHTML 2 的移植平滑得多。当前大多数浏览器都支持 HTML 4 和 XHTML 1.x,因此这两个新规范也同样会得到支持。

开发者对此反映褒贬不一,Robert Nyman 在博文中说

。。。。。。这两个规范很不错,毫无疑问他们都包含了一些非常棒的增强,但我不得不说的是他们究竟何时才能真正运用到实际当中来。关于哪个是最好的、不同 web 浏览器的不同实现等等总会有无穷无尽的讨论。。。。。。

自由职业者 Mike Malone 在其 XHTML 2 和 HTML 5 的比较文章中提到了他对这场潜在的标准之间的战争作了理性的分析:

大家想要避免的是另一场标准之间的战争。幸运的是,因为这两种语言都支持 XML 命名空间(或者 HTML 5 的 HTML 序列化,DOCTYPE 替换),所以不太可能再发生像 90 年代那样对浏览器的依赖行为。

InfoQ 英文站的读者 Bojan Antonovic 发表评论说:

XHTML2 和 (X)HTML5 各有各的优势,但两者都拥有一个大的瓶颈:Internet Explorer。如果微软接下来几年没有任何作为的话,那么这些技术都不会有大的发展。(X) HTML 4.01 在 1997 年成为标准,而现在已经是 2008 年。IE 8 即将通过 Acid 2 测试是它的运气,但什么时候能通过 Acid 3 测试却未为人知。

HTML 5 严格地构建于 HTML 4 之上,但现在又有多少页面是确实有效的 HTML 呢?很多甚至都还有特别针对 Netscape Communicator 4 和 IE 4 的标签属性!假如真的迁移到 HTML 5 标准上来的话,根据实际开发速度来看,即使到 2020 年也最多只有 20% 的 web 站点能够符合 HTML 5 规范。

InfoQ 英文站的读者 Jose Ernesto Lara Rodríguez 说:
新标准是必要的,何况微软也开始在标准上投入大量精力:我认为正是由于 Mozilla Firefox,微软浏览器市场份额有少量丢失,这可能会导致另一场浏览器间的战争。盖茨不是个鼠目寸光的人,他很聪明,所以肯定会带头支持这些新标准。

查看英文原文:XHTML 2 and HTML 5 continue to diverge

Java.NETRuby编程语言JavaScript语言 & 开发架构