XQuery教程

XQuery = XML Query,是W3C所制定的一套标准,用来从类XML(标准通用标记语言的子集)文档中提取信息,类XML文档可以理解成一切符合XML数据模型和接口的实体,他们可能是文件或RDBMS。

解释XQuery最佳方式是这样讲:XQuery 相对于 XML 的关系,等同于 SQL 相对于数据库表的关系。

XQuery 被设计用来查询 XML 数据 - 不仅仅限于 XML 文件,还包括任何可以 XML 形态呈现的数据,包括数据库。

什么是 XQuery?

XQuery 是用于 XML 数据查询的语言

XQuery 对 XML 的作用类似 SQL 对数据库的作用

XQuery 被构建在 XPath 表达式之上

XQuery 被所有主要的数据库引擎支持(IBM、Oracle、Microsoft等等)

XQuery 是 W3C 标准。

Query是一种发展得最为慎重的W3C标准,因而演化得也最为缓慢,XQuery也因此而闻名。造成这种现象的一个主要原因就是,对于如何获得以XML形式存储的信息,业界还没有什么经验。许多公司仍然在这个领域创新,并且正不断产生大量的经验信息,这些信息必须经过处理和提炼,才能使解决XML查询问题的水平达到令人满意的程度。

XQuery还不是W3C推荐标准。最新的工作草案已经有了显著的进展,并且正在被许多不同的供应商或多或少地实现。一些市场主导供应商例如BEA和Software AG已经决定发布一些基于这些工作草案的产品,但是直到其成为W3C的推荐标准前,这些厂商并不准备紧跟这一标准。由于最终发布版的延迟推出,有关其实施的大规模市场推广计划尚未开始。

XQuery低公开度的另一个原因就是,到目前为止,还没什么证据能表明XML格式的数据存储能够成为将关系型数据存储拉下马的通用技术。虽然XML数据库展现出很多有价值的和特殊的特性,但是它们在市场渗透方面与面向对象数据库比较相似。这两种数据库都可以很方便地解决专业问题,并且适用于中小型系统。不过,随着存储问题复杂性的增加,XML和面向对象数据库看起来都没有关系型数据库那样容易扩展。实际上,像关系型数据库那样运作可能也不会取得成功。只有在技术方面的大踏步前进才会减少对关系型数据库管理系统遗留项目的大量投资。

XQuery有如下特点:

  1. XQuery是查询XML的语言

  2. XQuery类似RDBMS的SQL

  3. XQuery建立在XPATH的基础之上

  4. XQuery已经被主流的RDBMS所支持,如Oracle,DB2,SQLServer

XQuery应用举例

·从Web Service中提取信息

·生成数据的摘要报告

·将XML转换为XHTML

·从Web文档中找寻信息

在了解XQuery之前,你应该首先了解

XML

HTML/XHTML

XPATH