从 Java 平台计算 XPath

没有比 XML 更难搜索的数据格式了,但是使用最近出现的 XQuery API,XML 搜索现在变得非常灵活且易于执行。对于使用 SAX、DOM、JDOM、JAXP 等技术处理 XML 文档的 Java™ 编程人员来说,XQuery API for Java 是编程人员的工具箱中一个广受欢迎的新增工具包。现在,Java 编程人员可以使用 XQuery 的强大功能,而无需求助于系统调用或笨拙的 API,所有功能都可以通过一个符合 Sun 标准的工具包来实现。

分组 XML 技术

很多年前,当 XML 成为最热门的技术之一时,很难想象得到 XML 会在十年内变得如此重要,而且您可以找到大量与 XML 相关的有趣技术。实际上,可以通过多种途径了解 XML 技术。

传统的 XML 分组

常用缩写词
  • API:应用程序编程接口(Application Programming Interface)
  • DOM:文档对象模型(Document Object Model)
  • IDE:集成开发环境(Integrated Development Environment)
  • JAXP:处理 XML 的 Java API(Java API for XML Processing)
  • JDOM:Java 文档对象模型(Java Document Object Model)
  • SAX:Simple API for XML
  • URI:统一资源标识符(Uniform Resource Identifier)
  • W3C:万维网联盟(World Wide Web Consortium)
  • XML:可扩展标记语言(Extensible Markup Language)

可以将与 XML 相关的技术划分为一些基本的分组或主要区域:

  1. 文档创作: 此分组面向将主要的时间用于创作 XML 的人。无论他们是创建原始 XML 数据,还是用 XML 格式表示现有数据,这里主要关注的都是纯 XML,很少关注可能使用这些文档的编程任务。这就是 XML 的核心思想所在,这个分组还包括特定的 XML 词汇表(比如 MathML)或一些科学 XML 词汇表。
  2. 处理 XML:这些技术(比如 XSL)允许对 XML 进行转换、修改或由一种格式迁移到另一种格式。这些技术主要关注的仍然是 XML 文档及其内部数据,但有时候也使用编程语言来完成这些转换。
  3. 读取/编写 XML(以及持久化数据):这些技术与编程联系更加紧密,包括从低级的 API(比如 SAX 和 DOM)到数据处理技术(比如 JAXB 和 Castor)。这些技术将 XML 看作一种数据存储机制,而且在许多情形下看作一种达到目的的手段。

到目前为止,这些分组是主要的技术类别,每个分组中都在不断出现最新的技术和规范。

将 XML 转变为一类数据居民

XML 的一个主要问题就是缺乏良好的搜索支持,尽管这个问题仅限于上面的三个分组。如果想要对 XML 格式的数据进行搜索,则这会是一个问题。实际上,通常的解决方案是将上面的一些分组结合起来。文档创作者可能使用命令行工具(比如 grep,这是一种笨拙的搜索方式。编程人员可能读入 XML(另一个分组),然后使用他们的编程语言(比如 Java 或 C#)对非 XML 格式的数据进行搜索。这种方法是可行的,但暴露了 XML 的一些局限性。

幸运的是,XPath(和 XQuery,本文稍后将会谈到)的引入和流行带来了一个新分组:







本文转自IBM Developerworks中国

      请点击此处查看全文

 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值