理解XML
XML表示可扩展标记语言(eXtensible Markup Language).其中,"可扩展"这个词意味着开发者能够自由扩展在描述文件方面的能力,可以为自己的应用程序定义有实际意义的标签.XML是基于文本的,允许开发者在各种应用程序之间传递和交换结构化数据,同时大大便利了不同服务器之间的数据传输.用XML表注的数据能够被所有的设备识别,从带主机的大型机和微型机,到掌上电脑和蜂窝电话.
与诸如HTML,DHTML,CSS等其他网页技术相比,XML更注重数据的结构,而不是数据的表现形式.让我们看看下面的这段代码:
<B>XML Bible</B>
<P>
Elliotte Rusty Harold <BR>
IDG Books Worldwide <BR>
$39.99
稍微看一下,你可能已经知道了,它将的是一本关于书的基本信息:作者,出版社,价格.但是,这里用作标记的元素,比如<B>,<P>等,并没有揭示出这是一本有关书的信息,它只是描述了这几行信息是如何显示的.比如,在第一行中用了<B>,就表示浏览器处理的时候,要以粗体字显示这行文本.
同样对这些信息,我们用XML标注如下:
<BOOK>
<NAME>XML Bible</NAME>
<AUTHOR>Elliotte Rusty Harold</AUTHOR>
<PUBLISHER>IDG Books Worldwide</PUBLISHER>
<PRICE>$39.99</PRICE>
</BOOK>
上面的小例子揭示出,通过定义一些有含义的标签,XML扩展了用户描述文件的能力.你可以根据应用程序的需要,定义任意多个标签.在上面的代码段中,没有任何关于如何显示信息的描述.XML将数据的结果与显示分离开来,这似乎不太合理,其实很有益处的.
使用XML的优越性
XML不仅对数据从服务器到客户端的传输大有好处,对于应用程序之间的数据传输,也是十分理想的.我们将它的优越性列举如下:
* 可使用特定领域的词汇
* 数据交换
* 智能化查询
* 让用户选择显示的数据
* 局部更新
可使用特定领域的词汇
XML是没有预定义标签的,你必须自己定义标签,用来标注你的数据.也就是说,你可以用XML创建自己的表注语言(称为XML词汇表).XML允许每个特定的行业根据需要定义自己的标签集合,这样浏览器就不必处理成千上万的标签集了.利用XML,已经创建了若干新的标记语言,比如W3C特别推荐的MathML,一种用于显示数学公式和科学数据的专用标记语言,就是基于XML的.
数据交换
数据交换在进行电子商务的交易时是极为重要.数据交换的关键在于企业之间或企业内部部门之间的标准数据接口,使用存储格式不同的数据能够进行交换.XML为以文本格式式存储的数据提供了对于结构的定义和管理,可以作为数据交换的标准格式或协议,是数据交换双方的系统差异变得无关紧要,并且产生清晰易读的文件.XML避免了同类产品的一些常见弊病,如扩展性差,缺乏国际化和本地化的支持,平台相关等.作为一种非常健壮的数据交换格式,XML将继续发展,不断完善.
智能化查询
由于XML的出现,只能搜索引擎将成为现实,可将XML文档中的数据进行智能化搜索,得到更精确的查询结果.为了更好的理解XML实现内容定义的意义,我们来比较一下下面的两个例子:
例1: The best pricture award in 1998 went to the film <I>Titanic</I>.
例2: The best pricture award in 1998 went to the film <FILM>Titanic<FILM>.
在第一例子中,搜索引擎并不能确定所涉及的一艘轮船,一场表演,一部电影,抑或是一个形容词.这样的搜索精度比较低.而在第二个例子中,你能知道"Titanic"是一部电影的名字.如果现在搜索引擎要搜索的是电影 "Titanic",那么在这个文档中就能找到一个精确的匹配项.
让用户选择显示的数据
XML支持用户端的数据处理.用户可以选择一个,若干或全部数据记录,也可以按照不同的属性进行排序,或者切换到图形化查看方式,而且不需要服务器针对每一次操作发送数据.相同的数据可以用不同的方式来显示,也可以仅仅显示数据的一个子集,这些都取决于用户与这些数据的相对关系.比如,会计部门是可以访问财务信息的,而购买东西的顾客却不能反问这部分信息.
局部更新
当需要更新XML文档中的数据时,并不需要更新整个页面,而只要重新下载那些变化了的数据,这显然加快了更新的速度.例如:股票交易中的数据是动态的,如果每次都更新整个页面的话,都需要很多时间.而使用XML,将只改变变化了的数据.
XML的设计目标
XML是针对大规模的电子出版物的挑战来设计的,同时在Web数据的交换中也充当着越来越重要的角色.
根据W3C的有关文件,XML将在如下几个方面发挥重要作用:
* 实现国际化,独立于媒体的电子出版.
* 允许个产业部门制订与平台无关的数据交换协议,尤其针对电子商务数据交换的协议.
* 使用允许自动处理的格式,将信息传递给用户代理商
* 让人们用低价软件就可以实现数据处理
* 允许人们按照自己的方式显示信息
* 提供一种有关信息的数据(写作 metadata),以帮助人们寻找和发现信息,实现信息的生产者和消费者之间的双向寻找.
任何形式电子商务的成功,都有赖于一个公共词汇表的广泛使用.部分XML词汇表列举如下:
频道定义格式(CDF, Channel Definition Format)-一种基于XML的,用于创建web频道的数据格式.所谓web频道,是一种实现web服务器到客户端的数据自动发送的技术.
开放软件描述(OSD, Open Software Description)-用于网上自动安装软件,而不需要任何人工干预.
开放式金融交易(OFX, Open financial Exchange)-被个人金融应用程序用来作为个人和金融组织之间进行网上交流的工具.
Meta内容框架(MCF, Meta Content Framework)-用来定义关于信息的数据,以实现对信息的编目和搜索.
资源描述框架(RDF, Resource Description Framework)-用于描述各种类型的资源,以实现对资源的编目,搜索和引用.
无线标记语言(WML, Wireless Markup Language)-用于在无线网络上的数据奋发,采用无线访问协议.
化学标记语言(CML, Chemical Markup Language)-用来定义化学公式.
数学标记语言(MathML, Mathematical Markup Language)-用来定义复杂的数学公式.