二、XML的定义
XML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web的应用中。XML保留了SGML的可扩展功能,这使XML从根本上有别于HTML。XML要比HTML强大得多,它不再是固定的标记,而是允许定义数量不限的标记来描述文档中的资料,允许嵌套的信息结构。HTML只是Web显示数据的通用方法,而XML提供了一个直接处理 Web 数据的通用方法。HTML着重描述Web页面的显示格式,而XML着重描述的是Web页面的内容。
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还处在开发阶段,其标准正在由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的应用可分为四类:
(1)应用于客户需要与不同的数据源进行交互时。数据可能来自不同的数据库,他们都有各自不同的复杂格式。但客户与这些数据库间只通过一种标准语言进行交互,那就是XML。由于XML的自定义性及可扩展性,它足以表达各种类型的数据。客户收到数据后可以进行处理,也可以在不同数据库间进行传递。总之,在这类应用中,XML解决了数据的统一接口问题。但是,与其他的数据传递标准不同的是,XML并没有定义数据文件中数据出现的具体规范,而是在数据中附加tag来表达数据的逻辑结构和含义。这使XML成为一种程序能自动理解的规范。
(2)应用于将大量运算负荷分布在客户端,即客户可根据自己的需求选择和制作不同的应用程序以处理数据,而服务器只须发出同一个XML文件。仍以上例为论,如按传统的"客户/服务器"工作方式,客户向服务器发出不同的请求,服务器分别予以响应,这不仅加重服务器本身的负荷,而且网络管理者还须事先调查各种不同的用户需求以做出相应不同的程序,但假如用户的需求繁杂而多变,则仍然将所有业务逻辑集中在服务器端是不合适的,因为服务器端的编程人员可能来不及满足众多的应用需求,也来不及跟上需求的变化,双方都很被动。应用XML则将处理数据的主动权交给了客户,服务器所作的只是尽可能完善、准确地将数据封装进XML文件中,正是各取所需、各司其职。XML的自解释性使客户端在收到数据的同时也理解数据的逻辑结构与含义,从而使广泛、通用的分布式计算成为可能。
(3)应用于将同一数据以不同的面貌展现给不同的用户。这一应用也可在上例中体现出来。它又类似于同一个剧本,我们却可以用电视剧、电影、话剧、动画片等不同形式表现出来。这一应用将会为网络用户界面个性化、风格化的发展铺平道路。
(4)应用于网络代理对所取得的信息进行编辑、增减以适应个人用户的需要。有些客户取得数据并不是为了直接使用而是为了根据需要组织自己的数据库。比方说,教育部建立一个庞大的题库,考试时将题库中的题目取出若干组成试卷,再将试卷封装进XML文件,接下来便是最精彩部份,在各个学校让其通过一个过滤器,滤掉所有的答案,再发送到各个考生面前,未经过滤的内容则可直接送到老师手中,当然考试过后还可以再传送一份答案汇编。此外,XML文件中还可以包含进诸如难度系数、往年错误率等其他相关信息,这样只需几个小程序,同一个XML文件便可变成多个文件传送到不同的用户手中
五、XML带来的好处
(1)更有意义的搜索
数据可被XML唯一的标识。没有XML,搜索软件必须了解每个数据库是如何构建的。这实际上是不可能的,因为每个数据库描述数据都是不同的。有了XML,书就可以很容易以标准的方式按照作者、标题、ISBN序号或其他的标准分类。搜索书就变得十分方便。
(2)开发灵活的Web应用软件
数据一旦建立,XML能被发送到其他应用软件、对象或者中间层服务器做进一步地处理。或者它可以发送到桌面用浏览器浏览。XML和HTML、脚本、公共对象模式一起为灵活的三层Web应用软件的开发提供了所需的技术。


