XML 的其他标准和扩展协同工作,使您的信息更可移植且更有用。
您需要了解这些标准和扩展,以便执行以下操作:
在 Java™、C++、C、RPG 和 COBOL 程序中使用 XML。
在 XML 文档中执行复杂数据搜索。
在不同类型的设备上显示 XML 数据。
提供具有分层链接功能的 XML 文档。
生成相关 DTD 的标准结构。
XML 有利于描述信息,但它不能执行所有操作。 例如, XML 文档不包含当前浏览器和许多其他设备以有用的方式显示该文档所需的信息类型。 对于链接到其他信息,传输 XML 数据以便接收应用程序以有意义的方式使用 XML 数据也是如此,等等。
XML 社区已经并将继续开发标准和扩展,以扩展 XML 的功能:
DOM 和 SAX API
名称空间
XSL 和 XSLT
XLink
XPath 和 XPointer
XML 模式
API应用程序编程接口 (API) 允许应用程序使用一组标准的可移植接口来处理 XML 信息。
DOM 1.0 和 DOM 级别 2.0
"文档对象模型" (DOM) API 使您能够构建 XML 文档以及对其进行解析。 这些接口使您能够访问,处理和创建 XML 文档 (以及其中的数据) 作为具有方法和事件的编程对象。 您的程序可以在内存中构造或更改 DOM 树,然后将该 DOM 树持久存储到文件或流中。 DOM 最适合一些实例,在这些实例中,您将解析很少的 XML 文档,但需要对内容进行广泛控制。
名称空间名称空间是使您能够区分重复 XML 元素或属性名称的指针,这是使用 XSLT 样式表或多个 DTD 时可能发生的情况。 例如,来自一个 DTD 的元素可能意味着与其他 DTD 中的元素。 为了避免名称冲突和模糊性,请为每个指针指定唯一的局部名。 这使得区分不同名称空间变得很简单。
SAX 1.0 和 SAX 2.0
Simple API for XML (SAX) 是一个只读的单通道接口,最适合处理许多文档或非常大的文档。 您可以使用此 API 从 XML 文档中抽取信息,但不能将其用于向 XML 文档添加新数据或更改 XML 文档的内容。 SAX API 是事件驱动的,在特定事件发生时,它会在解析文档时通知您的应用程序。 例如,应用程序可能需要知道解析器何时迂到元素节点的开始或结束。 请注意,应用程序必须保留必需的状态信息以确定这些 XML 事件的内容和上下文。
XSL 和 XSLT可扩展样式表语言 (XSL) 和 XSL 变换 (XSLT) 结合使用,使您能够以多种方式显示 XML 数据,例如,显示在浏览器或 PDA 上,或打印在说明书中。 XSL 和 XSLT 处理还使您能够将 XML 消息或文档从一种 XML 标记语言转换为另一种 XML 标记语言,后者在电子商务中具有关键应用程序。
请参阅 XSL 简介 以获取更多信息。
XLinkXML 链接语言 (XLink) 使您能够将 XML 文档链接到 Web 上的其他资源,包括大约任何格式的文件,数据库搜索等等。 此外,您还可以链接到资源的结构,而不是像 HTML 锚点标记那样的预定位置标记。 多个链接允许用户根据您指定的限制按任何顺序遍历链接的信息。
XPath 和 XPointerXML 路径语言 (XPath) 和 XML 指针语言 (XPointer) 使您能够在分层 XML 文档结构中搜索和识别数据。
XPath 定义用于在 XML 文档中查找数据的语法。 XSLT 和 XPointer 都使用 XPath。 XPath 将 XML 文档定义为节点的层次结构,其中顶部节点是根。 就像使用正则表达式在文本中查找一个或多个模式一样,使用 XPath 在一个或多个 XML 文档的节点中的数据中查找模式。
XML 指针语言 (XPointer) 扩展 XPath 以允许根据 XML 属性值,类型,内容或相对位置来查找数据的特定部分 (称为片段)。 这些片段可以是离散的数据片段,两点之间的信息范围,或者连续的元素序列。
XML 模式XML 模式语言定义 XML 文档的逻辑结构,类似于文档类型定义 (DTD)。
DTD 和 XML 模式之间的显着区别在于模式执行以下操作:
编写为 XML 标记语言本身,使其可扩展,与 DTD 不同
关注基数问题,启用最小和最大允许元素的枚举
允许对值进行约束
允许其他数据类型以及可继承的数据类型定义
所有这些增强功能使您能够更好地控制 XML 文档或消息的允许内容。 例如,您可以向现有模式添加其他类型的元素,只要您的添加不会破坏原始模式。 与 DTD 相比,模式还有更多可用的数据类型,这使得导入和导出数据变得更容易一些。