W3C 日前宣布将从2009年底起终止同 XHTML 2 工作组的合约 ,并以此暗示曾经一度野心勃勃的 XHTML 2 的正式死亡。Web 设计界是否该因此而恐慌?毕竟 XHTML 1.x 是所有对 Web 标准验证有着某种情节的人的首选,然而事实并非如此,XHTML 2.0 偃旗息鼓已有时日,W3C 只是明确了它的死亡日期 ,并将主要精力倾注到他们的新宠儿,HTML 5 身上。
如何看待 Web 设计师们所钟爱的 XHTML?
要弄明白 XHTML 如何获得人们的青睐 ,得从 HTML4 说起。HTML 4 是一种松散的语言,它拥有很多选项,囊括了太多人们对 Web 的试验性想法,一些是好的,一些是坏的,然而,要 HTML 4 为蹩脚的网页代码负责,好比要英语为低劣的小说负责。 HTML 4 也可以结构严谨并拥有合法的语义,只要设计师们知道该如何使用它。
而 XHTML 1.0 更严格,那些验证工具更容易指出其中的错误,如果你很懒,又想保证自己的代码结构严谨,XHTML 1.x 要容易检查得多。
然而问题是,XHTML 的使命并非单单如此,XHTML 的使命在于它名字中的那个 X,X 的存在不是为了耍酷,而是因为 XHTML 事实上属于 XML。象正在为 HTML 5 细则工作的 Henri Sivonen 指出 的那样,XHTML 事实上有两个意义,一是技术上的,一是市场上的。
从技术的角度,XHTML 原本是要以 application/xhtml+xml MIME 类型输出纯粹的 XML 的,然而这种情形很少见,这并非说 XML 不重要,事实上未来的 XHTML 5 将对 HTML 5 提供序列化服务。而 XHTML 的大量使用更多是基于市场的角度,换句话说,那些采用 XHTML 语法的网页仍然被浏览器按 text/html MIME 类型渲染,因此,尽管这些文档属于 XML,但它们并没被当作真正的 XML,而是按 HTML 进行渲染。
人们为什么喜欢 XHTML?
既然 XHTML 就是 HTML,那些喜欢 XHTML 的人又是出于什么样的初衷?答案是,XHTML 鼓励良好的代码习惯,所有标签都需要完整,严谨,XHML 可以产生比 HTML 4 更干净的代码。
然而 HTML 5 已经解决了 HTML 4 中大部分的此类问题,它允许你使用 XHTML 1.x 式的严谨代码,当然也允许 HTML 4 式的松散代码,这意味着, Web 设计师们之前编写的 XHTML 1.x 代码可以直接转到 HTML 5,只需更改一下 doctype 即可。
XHTML 2.0 错在哪里?
尽管初衷是好的,但 XHTML 2.0 的夭亡来自两件事,第一,它不向前兼容,意味着你写的 XHTML 1.x 代码无法直接用于 XHTML 2.0, 相反, HTML 5 却向前兼容。第二,XHTML 2.0 并非 HTML 的 XML 化,而是一种全新的体系,它忽视了设计师们的需求。
而 HTML 5 却包含了设计师们需要的很多东西,本地的音频,视频支持,多栏布局工具,离线数据库,本地的矢量图支持,这一切,XHTML 丝毫没有触及。
HTML 5 的光明未来
XHTML 2.0 虽然已被提出多年,然而迄今没有任何浏览器实现对它的任何支持,HTML 5 却得到了几乎所有现代浏览器到青睐,包括 Firefox, Safari, Chrome, Opera,甚至 IE8 也实现了对它的某些支持 。
那些在 Web 领域野心勃勃的大厂商,比如 Google, Apple,已经推出基于 HTML 5 的 Web 服务 ,使用本地化视频支持与本地数据库实现了各种应用,而基于 XHTML 2.0 的应用却几乎没有有。
另外,HTML 5 还推出了 XHTML 5 细则,XHTML 5 向当前 Web 中大量基于 XHTML 1.x 的网页伸出橄榄枝,XHTML 1.x 如果仅仅是作为 HTML 的一种 XML 式编码风格,并不会被遗弃,事实上,还会工作得更好。
延伸阅读
深入了解 HTML 5
让 JavaScript 拯救 HTML5 的离线存储
Web Forms 2.0 行将被 HTML 5 代替
HTML 5 正在改变 Web
HTML 5 令人期待的 5 项功能
当 HTML 5 遇见 Google
HTML 5 会为 Flash 和 Silverlight 送终吗?
Firefox 访谈:OGG, HTML 5 与 Web 视频的未来
本文国际来源:http://www.webmonkey.com/blog/XHTML_2_Dies_a_Lonely_Death__Makes_Room_For_HTML_5
http://www.w3.org/2009/06/xhtml-faq
中文翻译来源:COMSHARP CMS 官方网站
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/comsharp/archive/2009/07/07/4328495.aspx