您的位置:寻梦网首页编程乐园XML 编程XML技术讲座
XML 编程

XML技术讲座之十四

XML相关标准

从本系列讲座或其他资料中会发现,虽然XML标准本身简单,但与XML相关的标准却种类繁多,W3C制定的相关标准就有二十多个,采用XML制定的重要的电子商务标准就有十多个。这一方面说明XML确实是一种非常实用的结构化语言,并且已经得到广泛应用;另一方面,这又为学习了解这些标准带来一定得困难,除了标准种类繁多外,标准之间通常还互相引用,特别是应用标准,它们的制定不仅仅使用的是XML标准本身,还常常用到了其他很多标准。对某一特定的应用领域哪些标准是重要的呢?哪些标准是基础的,被其他标准广泛引用呢?这些标准之间的相互关系如何呢?XML标准的体系是怎样的呢?

1 XML标准体系

XML相关标准也可分为元语言标准、基础标准、应用标准三个层次,如图11-1所示。

元语言标准(meta-Language):描述的是用来描述标准的元语言。在XML标准体系中就是XML标准,是整个体系的核心,其他XML相关标准都是用它制定的或为其服务的。

基础标准(Foundation Standards):这一层次的标准是为XML的进一步实用化制定的标准,规定了采用XML制定标准时的一些公用特征、方法或规则。如:XML Schema描述了更加严格地定义XML文档的方法,以便可以更自动化的处理XML文档;XML Namespace用于保证XML DTD中名字的一致性,以便不同的DTD中的名字在需要时可以合并到一个文档中;等等。这些基础标准主要有哪些?它们之间的相互关系又如何?在本讲座的后半部分将作更为详细的讨论。

应用标准(Application Standards):XML已开始被广泛接受,大量的应用标准,特别是针对INTERNET的应用标准,纷纷采用XML进行制定。有人甚至认为,XML标准是Internet时代的ASCII标准。在这Internet时代,几乎所有的行业领域都与Internet有关。而这些行业一旦与Internet发生关系,都必然要有其行业标准。而这些标准往往采用XML来制定。当前较为重要的应用标准主要包括:用于XML显示的标准:XHTML(采用XML对HTML的重新定义)、SVG(有关矢量图形的)、SMIL(有关多媒体同步显示的)、MathML(有关数学公式符号的);用于电子商务领域的标准:Micropayments(W3C制定的)、BizTalk(Microsoft发起的电子商务的schema库)、ebXML(联合国UN/CEFACT小组和OASIS共同发起的)、PIP(由诸多IT业的巨子组成的一个标准化组织RosettaNet的应用网络标准。),cXML、xCBL、tpaML等等;以及其他领域的。

2 XML基础标准及其相互关系

从XML标准体系中可以看到XML基础标准是相当多的,而且这些标准又是非常重要的,因为,这些标准是XML应用标准的基础。它们是在XML标准的基础上,进一步对XML中一些公共的特性、方法、规则作了更为详细明确的规定。应用标准通常都要使用到这些标准的内容或者遵照其中的约定。在使用XML,阅读利用XML应用标准时也需要理解这些标准的内容。在本系列讲座中,这些标准几乎都已涉及到了。在本次讲座中,将对它们进行分类,主要讨论这些标准之间的相互关系。以便读者能从整体上对这些标准有个更清晰的认识。

图11-2是对XML应用标准的框架图。

图 11-2

首先,看看XML相关标准外围的一些标准,那些对WEB应用具有确定体系框架意义的几个标准,如图11-2中虚线左侧的三个标准。这些标准并不是针对XML标准应用或采用XML标准制定的,但它们是WEB应用的基础,几乎在WEB应用的任何地方都会使用到它们。HTTP:超文本传输协议。URI/URL:统一资源标识符/统一资源定位器,是用来定位Internet上资源,以便在庞大的WEB信息系统中能唯一地标识任何一个资源。Unicode是在WEB应用中广泛采用的一个字符编码标准,它将几乎世界上所有的文字都包括进去了。XML标准要求XML分析器必须至少支持UTF-8/16编码的Unicode字符。

如图11-2中上部所示的标准是仅次于XML标准本身,居于核心地位,并且几乎被其他所有XML相关标准采用的一组标准。这些标准是由XML核心工作组(XML Core Working Group)制定的,为XML标准提供最为本质的支持。XML Base,用于定义XML文档的URI的基础部分标准,与HTML BASE相似。XML Inclusions (XInclude),用于规定文档中包含物的处理模型与语法规则。Namespaces in XML,提供了一种简单的方式,用来在XML文档中通过与由URI引用标识的命名空间相关联来限定元素和属性,提供了解决多DTD的XML文档中元素名、属性名冲突的基本方法。Canonical描述了一种对输入的XML文档生成范式的方法。

图11-2中的右侧四个标准XML文档的处理提供有效的方法与规则。Schema是对DTD的补充,提供了一种更为严格的描述XML文档的结构、属性、数据类型等的方法,以便可对XML文档进行更加严格的自动化处理。DOM定义了一组与平台和语言无关的接口,以便程序和脚本能够动态访问和修改XML文档内容、结构及样式。XQuery的目的是为从WEB中的实际的或虚拟的文档中提取数据,提供一种灵活的查询机制。XForms的关键思想是将用户界面和表现与数据模型和逻辑分开,以便同一个表单可被广泛地应用于手持设备、桌面设备或基于语音的浏览器等各种情况。

大家可能对图11-2中的XSL、XLink一组标准很熟悉。因为这组标准在HTML标准中已有其雏形:显示与链接。而且这是HTML中最为重要与常用的内容。同时,这组标准的内容充分继承了SGML标准中DSSSL与HyTime相关内容。在这组标准中XPath描述如何识别、选择、匹配XML文件中的各个构成元件,包括元素、属性、文字内容等。XPointer和XLink标准,继承了HyTime标准中有关定位、链接方面的内容,链接采用单独的元素形式,并在标准中定义了"元元素",以便作为模板或父元素类型,链接可以有多种形式等。CSS已经是很熟悉的内容了,它开始制定时是用来进行HTML文档的显示,随着XML的出现与发展,它也被用来作为XML文档显示的样式标准,并将继续使用下去。但是,XML出现的目的并不在于它的显示,而主要在于对数据内容本身的描述,其中数据转换是其重要内容之一。为此,很快出现了制定XML转换标准的需求,XSL孕育而生。XSL的制定借鉴了DSSSL和CSS的内容与经验,如XSL标准采用对XML文档形成树状结构,采用元素节点匹配的方式进行转换、采用格式化对象的方法进行显示格式的定义。

在图11-2中,还有一部分可能读者接触较少。RDF、PICS、P3P、XML-Signature。RDF (Resource Description Format)是采用XML语法格式处理元数据的应用,为描述图像、文档和它们之间的相互关系定义的一个简单数据模型。其他几个标准一般的Internet使用者很少直接使用这些标准。但它们是采用XML定义的几个Internet应用的基础标准。

来源:网络世界