没有比 XML 更难搜索的数据格式了,但是使用最近出现的 XQuery API,XML 搜索现在变得非常灵活且易于执行。对于使用 SAX、DOM、JDOM、JAXP 等技术处理 XML 文档的 Java™ 编程人员来说,XQuery API for Java 是编程人员的工具箱中一个广受欢迎的新增工具包。现在,Java 编程人员可以使用 XQuery 的强大功能,而无需求助于系统调用或笨拙的 API,所有功能都可以通过一个符合 Sun 标准的工具包来实现。
很多年前,当 XML 成为最热门的技术之一时,很难想象得到 XML 会在十年内变得如此重要,而且您可以找到大量与 XML 相关的有趣技术。实际上,可以通过多种途径了解 XML 技术。
|
可以将与 XML 相关的技术划分为一些基本的分组或主要区域:
- 文档创作: 此分组面向将主要的时间用于创作 XML 的人。无论他们是创建原始 XML 数据,还是用 XML 格式表示现有数据,这里主要关注的都是纯 XML,很少关注可能使用这些文档的编程任务。这就是 XML 的核心思想所在,这个分组还包括特定的 XML 词汇表(比如 MathML)或一些科学 XML 词汇表。
- 处理 XML:这些技术(比如 XSL)允许对 XML 进行转换、修改或由一种格式迁移到另一种格式。这些技术主要关注的仍然是 XML 文档及其内部数据,但有时候也使用编程语言来完成这些转换。
- 读取/编写 XML(以及持久化数据):这些技术与编程联系更加紧密,包括从低级的 API(比如 SAX 和 DOM)到数据处理技术(比如 JAXB 和 Castor)。这些技术将 XML 看作一种数据存储机制,而且在许多情形下看作一种达到目的的手段。
到目前为止,这些分组是主要的技术类别,每个分组中都在不断出现最新的技术和规范。
XML 的一个主要问题就是缺乏良好的搜索支持,尽管这个问题仅限于上面的三个分组。如果想要对 XML 格式的数据进行搜索,则这会是一个问题。实际上,通常的解决方案是将上面的一些分组结合起来。文档创作者可能使用命令行工具(比如 grep,这是一种笨拙的搜索方式。编程人员可能读入 XML(另一个分组),然后使用他们的编程语言(比如 Java 或 C#)对非 XML 格式的数据进行搜索。这种方法是可行的,但暴露了 XML 的一些局限性。
幸运的是,XPath(和 XQuery,本文稍后将会谈到)的引入和流行带来了一个新分组:
本文转自IBM Developerworks中国

729

被折叠的 条评论
为什么被折叠?



