| XQL简介( 一 ) |
|
| XML查询语言(XQL) 是用于定位和过滤XML文档中元素和文本的符号。它是XSL模式语法的自然扩展,为指向特定的元素或查找具有指定特征的节点提供了简明的可以理解的符号。XQL是最早由Microsoft,Texcel等公司提出的一种XML查询语言,前面我们已经提到,XSL模式语言提供了一种描述一类将需要处理的结点的好方法。实际上是通过XPath来实现的,当然XSL是说明性的,而非过程性的。但XSL也有许多不足之处,如不支持表达式,不能在结点间进行等值连接,对多个分散的XSL文档没有一个形式化的查询机制,没有支持聚集操作等。XQL则在XSL基础上提供了筛选操作,布尔操作,对结点集进行索引,并为查询、定位等提供了单一的语法形式。因而在一定意义上可将XQL看作XSL的超集。
XQL主要针对解决以下四个问题域而提出:
(1)在单个XML文档中进行查询。如在XML浏览器和编辑器中对所处理的XML文档进行查询。另外, script也能利用这种性质给出一个非过程性的存取文档数据和结构的方法。
(2)在XML文档集中进行查询。如在XML文档仓储(Repository)中进行查询。
(3)能在XML文档间对结点进行定位。在HTML文档中,常常用HyperLink来定位其它文档,而在已有的XML中,链接形式更多样化,有TEL Links, HyTime Links,XML Linking,这些都允许链接有更大的灵活性。XQL则主要是想通过给出一已知位置的相对路径,或通过一绝对路径来在文档中定位任一结点。
(4)以字符串语法形式表达,使其能在URL中应用在XSL模板中及其它地方应用。
在介绍例子查询之前,对XQL中的一个重要的概念:Context 作一了解。Context即查询指定的一系列结点。XQL的基本语法模仿了URI(Unified Resource Identifier)目录导航语法,通过Context,XQL可以指定XQL查询是以XML树结构中哪一层开设作为查询范围(例如,从树的根结点或儿子结点)。XQL中以 / 表示根环境(Root context),以./ 表示当前环境(Current context)。
|
|