了解可扩展标记语言 (XML) 如何帮助我们实现通用的数据访问。XML 是一种基于 Unicode 的纯文本元语言,即一种用于定义标记语言的语言。它不依赖于任何编程语言、操作系统或软件供应商。XML 可以提供对各种数据处理、构建、转换和查询技术的访问。(本文包含一些指向英文站点的链接。)
简介
最初设想的可扩展标记语言 (XML) 用于为 Web 定义新文档的格式。XML 由标准通用标记语言 (SGML) 衍生而来,可以认为它是一种元语言,即一种定义标记语言的语言。SGML 和 XML 都是基于文本的格式,提供了一种使用标记(文字由‘<’和‘>’括起)描述文档结构的机制。Web 开发人员可能会注意到,XML 与 HTML 有一些相似,这是因为这二者都是由 SGML 衍生而来的。
随着 XML 的应用日益普及,现在人们已普遍认同,XML 不仅有助于为 Web 描述新文档的格式,而且也适用于描述结构化的数据。所谓结构化的数据包括那些电子表格、程序配置文件和网络协议中通常所包含的信息。
XML 要优于早期的数据格式,因为 XML 可以很轻松地表示表格式的数据(如数据库中的关系数据或电子表格)和半结构化的数据(如 Web 页面或业务文档)。早已存在且应用广泛的一些格式(如逗号分隔值 文件)可以有效地处理表格式数据,却不能很好地处理半结构化数据,而 RTF 等则只能专门用于半结构化的文本文档。因此,XML 作为信息交换的通用语言被广泛接受。
无处不在的 XML
除了可以表示结构化和半结构化的数据之外,XML 还有许多其他特性,使其成为一种被广泛采用的数据表示格式。XML 是可扩展的,与平台无关的,并且由于其完全采用 Unicode 而支持国际化。XML 是基于文本的格式,因此,用户可以根据需要使用标准的文本编辑工具读取和编辑 XML 文档。
XML 的可扩展性表现在多个方面。首先,与 HTML 不同,XML 没有固定的词汇表。相反,用户可以使用 XML 定义特定的应用程序或行业专用的词汇表。其次,与使用其他格式的应用程序相比,处理或使用 XML 格式的应用程序对 XML 结构的更改更具“抵抗力”,只要这些更改是附加的。例如,如果某个应用程序主要处理具有
customer-id
属性的
<Customer>
元素,如果再向
<Customer>
元素添加一个
last-purchase-date
属性,该应用程序通常也不会被破坏。这样的适应性在其他的数据格式中很少见,这也成为使用 XML 的一个显著优势。
XML 不依赖于任何编程语言、操作系统或软件供应商。事实上,使用各种编程语言都可以很容易地生成或使用 XML。而平****立性使得 XML 有助于在不同编程平台和操作系统之间实现互操作。
很多人已经意识到将数据发布为 XML 有很多优势,由此也推动了 XML 数据源的大量应用。人们正在或者已经将业务文档、数据库和业务间的通讯等信息源转换为使用 XML 作为表示格式。Microsoft 的产品,如 Microsoft Office®、Microsoft SQL Server™ 和 Microsoft .NET Framework,都能使最终用户和开发人员将文档、网络信息和其他数据生成为 XML 或作为 XML 使用。
