什么是XML
XML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web的用中。XML保留了SGML的可扩展功能,这使XML从根本上有别于HTML。XML要比HTML强大得多,它不再是固定的标记,而是允许定义数量不限的标记来描述文档中的资料,允许嵌套的信息结构。HTML只是Web显示数据的通用方法,而XML提供了一个直接处理 Web 数据的通用方法。HTML着重描述Web页面的显示格式,而XML着重描述的是Web页面的内容。让我们先来看一看用XML描述天气预报的实例:
<weatherreport>
<date>March 25, 1998</date>
<time>08:00</time>
<area>
<city>Seattle</city>
<state>WA</state>
<region>West Coast</region>
<country>USA</country>
</area>
<measurements>
<skies>partly cloudy</skies>
<temperature>46</temperature>
<wind>
<direction>SW</direction>
<windspeed>6</windspeed>
</wind>
<hindex>51</hindex>
<humidity>87</humidity>
<visibility>10</visibility>
<uvindex>1</uvindex>
</measurements>
</weatherreport>
为了使编写的Web页面成为有效的XML文档,文中每一添加的标记必须记入一个
独立的DTD文件中。当客户浏览天气预报文档时,相关的DTD文件是随着文档一起下
载到客户端,客户浏览器就懂得怎样来处理它们,例如你可以从几个天气报告中计
算出平均温度等,最后将结果显示出来。
DTD文件使XML页面能包含更多的内容,表现更复杂的形式。从实例中也可以看
出XML页面信息是结构化的,有些与数据库结构类似,因而更具访问性,其检索结
果更有针对性、更准确。
另外你也可以将URL地址定义在DTD文件中,当Web主页地址发生变化时,你只
需改动DTD文件中的定义即可,而不必一一在HTML文档中改变URL地址,从而使Web
的维护更方便,用户也不会遇到URL地址找不到的信息,这样一来,Web的应用更稳
定。
并不是所有的DTD文件都要下载到客户端,已经制订成为标准的协议,例如在
后面第六点中提到的化学标记语言CML、数学标记语言MML等是不需要DTD文件的。
除了DTD外,XML中还包括可扩展格式语言XSL(Extensible Style Language)
和可扩展链接语言XLL(Extensible Linking Language)。
XSL用于将XML数据翻译为HTML或其他格式的语言。XSL提供了一种叠式页面
CSS的功能,使开发者构造出具有表达层结构的Web页面来,以有别于XML的数据结
构。XSL也能和HTML一起构造叠式页面。XSL可以解释数量不限的标记,它使Web的
版面更丰富多彩,例如动态的文本、跑马式的文字。此外,XSL还处理多国文字、
双字节的汉字显示、网格的各种各样的处理等。
XLL是XML的链接语言,它与HTML的链接相似,但功能更强大。XLL支持可扩展
的链接和多方向的链接。它打破了HTML只支持超级文本概念下最简单的链接限制,
能支持独立于地址的域名、双向链路、环路、多个源的集合链接等。XLL链接可不
受文档制约,完全按用户要求来指定和管理。
为了使XML易学易用,XML精简了一大片SGML难得用一次的功能。正如几十万汉
字中常用的只不过八千,SGML常用的部分只占20%,XML抛弃了SGML中不常用的部
分,使它一下就精简了80%。这样一来,XML的语法说明书只有30页,而SGML却有
500页。
XML设计中也考虑了它的易用性,易用性来自两个方面:一方面用户编写Web页
面方便,另一方面设计人员实现XML浏览器也不太困难。
总之,XML使用一个简单而有灵活的标准格式,为基于Web的应用提供了一个描
述数据和交换数据的有效手段。HTML描述了显示全球数据的通用方法,而XML提供
了直接处理全球数据的通用方法。
目前的主要XML技术
XML 与 命名空间
文档类型定义DTD
XPath
XPointer、XInclude、XML Base
XSL Transformations
SAX
DOM
XML Schema
SOAP
支持XML的公司和它们的开发工具
尽管XML还处在开发阶段,其标准正在由W3C组织制定,但是已经有许多公司表
示全力支持XML,并开发了不少XML工具。Adobe公司的FrameMaker可以用来书写
XML文档。Microsoft公司推出的IE 4.0已经可以显示、处理和编辑XML文档,
Microsoft公司作出承诺,要在下一个版本的office 软件如MS word、Excel中支持
XML。Netscape、Sun公司也不甘寂寞,纷纷表示要在他们的Web工具中支持XML。除
了这些著名的公司有所行动外,其他小公司也把XML 作为一种商机,纷纷投入到
XML的开发工作中。例如ArborText 公司的Cedar项目旨在开发XSL;ArborText公司
和Microsoft公司一起向W3C提出了XSL的标准草案;Grif公司的Symposia Doc+则
是一个编辑XML文档的可见即可得的工具。此外还有Copsol公司的XML开发工具,
Norbert公司的XML句法分析器,Jade公司的XSL工具包以及支持客户/服务机应用的
Serucie 98等。
XML展望
任何一项新技术的产生都是有其需求背景的,XML的诞生是在HTML遇到不可克
服的困难之后。近年来HTML在许多复杂的Web应用中遇到了问题,要彻底解决这些
问题,必须用功能强大的XML来替代HTML作为Web页面的书写工