关于XML的四个神话(3) 当预期的XML用户可怜地询问XML如何在他们的Web浏览器上显示时,关于这一点的混淆就很明显了。回答是它并不显示--至少不是靠它自己。 要在一个浏览器内仿效现在对HTML所做的,你必须单独提供HTML作为一个整体但是难以管理的整体所提供的:你必须提供一个文档的内容(在XML中表示)和对它的处理,而这必须用程序定义(用脚本)或者声明它(用样式表)。 样式表 当前缺乏一种既使对于XML也足够强大同时又易于使用的样式表语言,这阻止了XML作为Web文档的普遍使用。为HTML开发的样式表语言层叠样式表(CSS)可用于为XML文档应用样式,但它不具备基于XML发布通常所需的转换和生成结构(例如目录)的能力。 文档样式语义和规范语言(The Document Style Semantics and Specification Language)--为SGML设计的ISO样式表语言--具有高级发布项目所需的功能。但是DSSSL(与"whistle"同韵)有一个基于模式(Scheme)程序设计语言的句法,许多人会发现很难学习。它也缺乏一个丰富的声明层,这使得几乎不可能保证独立开发的样式表编辑器能互操作。 这正是扩展样式语言(XSL)的切入点。作为一开始的XML大计划的一部分,XSL是一种新的语言,将结合DSSSL的功能和XML的简单性以及层叠样式表已建立的"样式属性"术语。1998年1月建立的一个W3C XSL工作组正忙于定义这一使基于XML的Web发布成为可能的语言。 虽然一个最终的XSL规范还需要几乎一年时间,第一个XSL工作草案现在已经在W3C Web网站上发布了,网址是http://www.w3.org/TR/WD-xsl。随着它的进入新世纪,这一初期规范值得任何想进行电子发布的人审慎关注。 神话4:XML只是针对数据的 由于我们还没有一个足够强大的样式表语言以使XML说明它作为一种发布方法的优越性,第一批XML应用是基于它自己能做的事情的:传输结构化数据。 一个单一的、可被人阅读的句法 通过串行排列任何种类的结构化数据--包括相关数据--以一种使其能用简单、随处可见的标准化工具处理和显示的方式,XML给我们提供了一个单一的、人可阅读的句法。一个标准的、易于处理的串行数据格式蕴涵的更大意义是难以想象的,但是它们显然将对电子商务有巨大的影响。另外,看来很清楚,电子商务将最终在一般意义上成为商务的同义词。 XML之于数据正如Java之于程序,将使数据与平台和厂商无关。这一能力正在推动一波XML中间件应用,1999年初将开始随处可见。然而,XML支持数据和元数据交换的能力不应使我们的注意力从XML最初的设计目的上转移。XML的设计者考虑的不仅仅是一个数据的传输层,而且是一个通用的媒体无关的发布格式,这将支持使用每一种语言的所有技术水平的用户。 媒体无关的发布 媒体无关的发布实际上是一个比数据交换要难的多的问题。事实上,可以说一般意义上的发布的需求是数据交换需求的超集。XSL的到来将使通用的发布解决方案成为可能,其后果还很少有人认识到。 理解XML革命性潜力的关键在于它只是一个更宏伟图景的一部分。XML本身可以提供标准化的数据库和电子表格的交换格式。这很好。但是XML和XSL在一起也可以取代现有的字处理和桌面出版格式。它实际上可以给我们一个单一的、完全国际化的格式,具有几乎无限的打印和在线发布的能力,在所有产品和所有平台上都完全能互操作。这一点所意味的远远超越了数据交换和Web。