<--XML,作为下一代的主要的网络开发语言和通用的应用程序开发标准,它将改变我们同数据打交道的方式。本文将介绍XML是如何工作的,另外再介绍27个热门的XML产品-->
当你使用Baltimore and orioles的关键字在网络上进行搜索时,你将得到很多有关棒球队的信息,其中有不少搜索结果并不令人满意,这倒并不是因为搜索有问题或者算法不好,而是因为HTML的局限性。
HTML仅仅是个陈述性的语言,它并不是用来描述网页的内容,而用来是描述这些内容如何显示出来,我们需要一种语言,能够提供一种描述数据的手段,从而更容易地得到搜索结果。
最近流行开来的XML(可扩展标识语言)语言就是问题的答案所在。XML语言把互联网带入一个全新的功能更强大的计算时代,在网络的各个方面都有改进,而不仅仅是在搜索方面取得进步。XML不是一个表现语言,它提供了描述数据的通用语言,使得搜索更加精确,它可以让企业之间更有效率地共享数据,并且使得在数据之间的导航更加容易。目前,互联网上起主导作用的是HTML,HTML语言用来定义我们在网络所看到的网页的表现形式。HTML给了我们把图形和文本结合到网页上的能力,并且能够在网页间创建复杂的超级连接系统。但是,当HTML用来描述信息时,其作用有限。例如,你可以使用HTML来格式化一个表格,但是不能够描述表格中的数据元素。这就XML诞生的原因。
XML和HTML都是来自于通用标识语言标准 (SGML)。SGML是个元语言,该语言可以让你创建其他语言。SGML可以让不同的集团和行业 (例如航空工业)来创建标识,元素和属性,这称为相对于指定应用的文件类型定义(DTD)。HTML是个SGML的特定实例,这是个专门用来显示网页的标识固定的集合。同SGML一样,XML是个元语言,用于描述网络上的文档,它比SGML更简单。
XML功能强大的原因是任何类型的数据,甚至抽象的数据概念,都可以赋予格式和结构。给定数据的概念,例如客户和存货目录,就通过描述这些元素以及元素之间的关系,对这些数据进行排列。你可以规定相应的结构,用来描述客户相关的信息,包括客户名,账号和地址,而不是定义一个单个的客户。一旦你已经创建了结构,你就可以把数据组织在一起,形成文档,并可以向全世界发布。
XML用来定义数据的结构,而不是用来描述数据是如何显示出来的。XML通过使用标识,来定义数据的结构。不象HTML, XML 可以定义自己的标识,这使得你可以自己来控制文档的结构。你也可以定义XML标识的属性,大多数HTML 的属性是用来格式化的,但是大多数XML的标识的属性则提供了同数据结构相关的附加信息,例如一个用来判断客户账号是否可以处理的标识。
XML原本可以用来描述诸如手册内容的文档,但是该语言可是用来描述几乎任何类型的数据,包括网页内容,财经交易,矢量图形,数学公式,多媒体内容以及远程过程调用。不少基于XML的标准近来已经提交给标准机构,这表明开发者和用户团体已经对描述数据的公共标准的推出期待以久。
在互联网,企业网和外部网的世界里,对开放标准的需求是显而易见的。为了协同工作,计算机需要用相同的语言。例如,OFX,全称为Open Financial Exchange(开放财务互换)标准,据称在不久的将来将从原先的基于SGML的标准转到基于XML的标准。OFX DTD 为银行提供了标准语言,可以使得顾客在线管理财务。一旦采用统一的标准,银行就无需对不同的个人财务应用程序建立相应的支持,例如Quicken和Microsoft Money软件。统一的标准可以让银行的客户在电子化的方式下载账号信息和进行在线支付。另一方面,Quicken和Money不必为支持任何财务机构,而做相应的适应工作。一旦银行使用OFX来描述交易,各种应用程序都可以读懂它。
你可以从OFX的例子中看到,标准是很重要的,但是有一个问题:为什么要用XML来定义标准?答案在于XML中的X: 可扩展性。因为XML是可扩展的,基于XML的数据可以在使用特定的DTD之外定义新型数据结构,例如,图书销售商的DTD可以只需要标题,作者,价格以及是否有存货等信息。而一个特定的图书销售商也许还需要有关分类,回顾,以及评论的标识。这没有问题。仅仅需要用到在DTD中定义的应用程序将忽略DTD定义之外的额外数据,而需要用到额外数据的应用程序自然也可以处理这些额外数据。
如果你认为HTML, HTTP, IMAP, LDAP, FTP, SMTP等数量不少的缩写词已经涌到你的日常词汇中,基于XML的新标准则又一次把你淹没在缩写词的海洋中,除了OFX,不少基于XML的其它语言正在大量出现。
如果你运行微软的Internet Explorer 4.0,你也许已经不知不觉地用到了XML。IE4用来定义频道的频道定义格式 (CDF)是首个基于XML的语言之一。
其它基于XML的标准,要么处于草案阶段,要么已经制订完毕,如资源定义格式(RDF),将可以帮助网站描述自身,并且提供对内容的分类;矢量标识语言(VML) 和精密图像标识语言 (PGML) 是两个用来描述矢量图形的建议;信息和内容交换协议(ICE)可以用来在网络上整合具有多种用途的数据;另外同步化的多媒体集成语言(SMIL)将可以提供连接到文本,音频,图像和动画的方法。
SMIL在 RealNetworks公司的RealSystem G2上得到使用。 Netscape Navigator 5.0将使用RDF来存储数书签和历史信息。当然,你将会看到一整套业界定义的DTD,就象今天的SGML。
人们不仅仅基于XML创建了新语言,而且也开发出产品。微软的Chromeffects,其Windows 98和NT下的版本将在今年底之前得到,该软件将使用XML作为DirectX的接口,使得开发者很容易地把多媒体和3D 集成到网页上。
因为XML可以用来描述任何事情,XML最终会被HTML取代吗? 也许会,也许不会。W3C组织是网络标准制定机构,它称:XML将用来对HTML4.0之后的语言进行扩展,但是目前的大量已经存在的HTML文档,意味着HTML还将存在好几年。
但是XML和HTML并不是互相排斥的, XML可以在现在的HTML文档中得到使用,在文档中,它是关于数据的数据。目前,IE4可同XML协同工作。Netscape Navigator在下一版本中也会有类似的功能。
XML的实际影响仍有待观察,但是在标准和产品中被接收的速度很快,不少软件产品都支持XML,在后面的内容中,我们将介绍27种现在支持,或者即将支持XML的软件产品。产品包括高端服务器应用软件,新一代的办公套件和浏览器。
所以,有不少东西让你感到兴奋,在以后的时间里,你还会听到更多的有关XML的应用软件推出,所以,称XML为ACL(缩写词创建语言)也许更合适。