
1.2 XML技术标准
1.2.1 XML相关标准
XML不仅仅是一种语言,广义的XML是一系列标准的集合。图1.1说明了XML及其相关标准。图中,中间一层是XML基础标准,最下层是XML的应用标准。
XML基础标准是为XML的进一步实用化制定的标准,它规定了采用XML制定标准时的一些公用特征、方法或规则。XML Schema描述了更加严格定义XML文档的方法,以便更自动地处理XML文档。XML Namespace用于保证DTD中名字的一致性,以便不同DTD中的名字在需要时可以合并到一个文档中。DOM定义了一组与平台和语言无关的接口,以便程序和脚本能够动态访问和修改XML文档内容、结构及样式。XPath描述如何识别、选择和匹配XML文档中的各个构成元件,包括元素、属性、文字内容等。XQuery的目的是为从Web文档中提取数据,提供一种灵活的查询机制。XPointer和XLink标准,规定了有关定位、链接方面的内容。CSS被用来作为XML文档显示的样式标准,等等。

图1-1 XML相关标准
1.2.2 XML的主要技术特点
XML是一种元标记语言,强调以数据为核心;这两大特点在XML的众多技术特点中最为突出,同时也奠定了XML在信息管理中的优势。
XML是一种元标记语言
与HTML不同,XML不是一种具体的标记语言,它没有固定的标记符号,是一种元标记语言,是一种用来定义标记的标记语言,它允许用户自己定义一套适于应用的DTD。
XML的核心是数据
在一个普通的文档里,往往混合有文档数据、文档结构、文档样式三个要素。而对于XML文档来说,数据是其核心。将样式与内容分离,是XML的巨大优点。一方面可以使应用程序轻松地从文档中寻找并提取有用的数据信息,而不会迷失在混乱的各类标签中;另一方面,由于内容与样式的独立,也可以为同一内容套用各种样式,使得显示方式更加丰富、快捷。
XML具有简明性
作为SGML的一个优秀子集,XML的复杂性只有SGML的20%,但具有SGML约80%的功能。同完整的SGML相比,XML简单得多,易学、易用并容易实现。另外,XML的诞生也吸收了人们多年来在Web上使用HTML的经验。XML采用Unicode字符编码系统,可以支持世界上几乎所有的主要语言,并且不同语言的文本可以在同一文档中混合使用。支持XML的软件能处理所有这些语言的任何组合。所有这些特性将使XML成为数据表示的一个开放标准,这种数据表示独立于机器平台、提供商和编程语言。用XML作为数据交换的中介,给系统的实现带来了极大的灵活性,可以实现散布在Web上的异构数据源中的数据的无缝集成。
1.2.3 XML Schema
XML Schema不仅包括了DTD能实现的所有功能,而且其本身就是规范的XML文档。XML Schema的作用是定义允许或不允许什么在文档中出现,其结构一般由元素类型声明、属性声明、实体声明和记号声明等构成。一个典型的文档类型定义文件会把未来所要创作的XML文档的元素结构、属性类型、实体引用等预先进行规定。用户既可以直接在XML文档中定义Schema,也可以通过URL引用外部的Schema。Schema为XML文档的编写者和处理者提供了共同遵循的原则,使得与文档相关的各种工作有了统一的标准。
XML大纲提供了一系列新特色,大大弥补了DTD的不足。
● 丰富的数据类型。XML大纲支持的数据类型包括数字型、布尔型、整型、日期时间、URI、十进制数等。而且它还支持由这些简单类型生成的复杂类型。
● 可以由用户自定义数据类型。
● 支持属性分组。属性的应用范围是多种多样的,有的是针对所有元素,有时则是专门针对图形元素。
● 原型可以更新。DTD定义的内容模式是封闭的,而XML大纲定义的内容模式是开放的,可以随时更新。
● 支持域名。