HTML 的未来,第 2 部分: XHTML 2.0
来源:不详 时间:07-09-17 点击: 点击这里收藏本文
本系列由两部分组成,Edd Dumbill 分析了实现 Web 作者、浏览器开发人员和标准体所提议的 HTML 的不同方法。本系列将介绍 WHATWG 规范所表述的渐进式方法和 W3C 提议的 XHTML 的推倒重来的激进式方法。此外,作者还将简要介绍 W3C 新的 Rich Client Activity。本文是该系列的第 2 部分,Edd 将目光放在 W3C 正在进行的工作上,以指示 Web 标记的未来。
本系列的上一期文章中,我说明了为何要改进 HTML,包括修正过去的错误和适应 Web 页面与应用程序提出的越来越高的要求。我介绍了 Web Hypertext Application Technology Working Group (WHATWG) 在创建 Web Applications 1.0 和 Web Forms 2.0 规范方面的工作,这是一个由浏览器厂商组成的松散的联合体。
本文将介绍万维网联盟(W3C)建立下一代 XHTML 规范版本的工作,以及他们对以 Ajax 应用程序为代表的“富客户端”行为需求的反应。
W3C 有四个工作组正在建立一些特别有趣的规范:
HTML(现在的 XHTML)
XForms
Web API
Web Application Format
可以在参考资料中找到这些规范的链接。本文主要讨论 HTML 工作组的研究,但是也有必要作为背景知识讨论一下其他规范,因为这些研究将造就 Web 的未来。
XForms
XForms 是 W3C 提出的当前 HTML 表单的后继者。它们被设计成具有更丰富的功能,并将其结果作为 XML 文档传递给处理应用程序。XForms 是模块化的,因此可在任何上下文中使用,而不仅仅是捆绑到 XML 中使用。XForms 与 HTML 表单的主要区别有:
XForms 将用户界面表示从数据模型定义中分离出来。
XForms 可以创建和消费 XML 文档。
XForms 是设备中立的。比如,可以在语音浏览器和桌面浏览器中使用同一个表单。
XForms 允许在提交之前验证和约束输入。
XForms 不使用脚本就能实现多阶段表单。
因为是一种模块化语言,XHTML 2.0 引入 XForms 模块来实现表单功能。
Web API
W3C Web API 工作组负责为客户端 Web 应用程序开发制定标准 API。其中第一种也是最常用的一种 API 就是作为 Ajax(也是 WHATWG 描述的一种技术) 核心的 XMLHttpRequest 功能。程序员可以通过 ECMAScript 和其他浏览器环境支持的任何语言来使用这些 API。
可能制定的其他 API 包括:
处理浏览器 Window 对象的 API
DOM Level 3 Events and XPath 规范
时间事件 API
用于非 HTTP 联网的 API,如 XMPP 或 SIP
客户端持久存储 API
拖放 API
监控下载的 API
更新文件的 API
虽然这些 API 不一定会随着 XHTML 2.0 一起实现,但在未来四年中,浏览器很可能将两方面结合起来为 Web 应用程序提供丰富的平台。
Web Application Format
XHTML 2.0 是 Web 应用程序用户界面问题的一部分,但不是全部。Mozilla XUL 和 Microsoft XAML 这些技术已经为用户界面提供了丰富的 XML 词汇表。
Web Application Format 工作组负责按照 XUL 或 XAML 的方式开发指定用户界面的声明性格式,以及 XBL2 的开发,这是一种在自定义标记和已有技术之间提供绑定的声明性语言。实际上,XBL2 为程序员提供了编写新的 Web 应用程序部件的一种方法。
为何要创建 XHTML 2.0?
XHTML 1.0 的目的是将 HTML 转化成 XML 词汇表。它为 HTML 引入了 XML 语法约束:区分大小写、必须用引号括起来的属性值和成对的标签。这项任务完成了,XHTML 2.0 致力于解决 HTML 作为一种 Web 页面标记语言的问题。
W3C 的 Steven Pemberton 在阿姆斯特丹 XTech 2005 大会上所作的演讲中(请参阅参考资料)阐述了 XHTML 2.0 的设计目标:
尽可能的使用 XML:如果一种语言特性已经在 XML 中存在,就不要重复或者重新发明。
结构高于表示:感谢 CSS 样式表,HTML 不再需要专门的表示性标签。
使 HTML 更容易编写:删除 HTML 中一些无用的特征。
更高的可访问性、设备中立性:尽量避免假设读取文档的方式。
改进的国际化。
更好的表单:盼望已久的改进!
减少脚本的需要:HTML 本身包含典型的脚本用法。
更好的语义:使 HTML 和语义 Web 应用程序更容易集成。
对于任何曾经用过 HTML 的人来说,这些目标显然都是值得期待的。现在我将稍微详细地考察 XHTML 2.0 实现这些目标的一些方法。
把此文章收藏到: