以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XQuery/XLink/XPointer/ 』  (http://bbs.xml.org.cn/list.asp?boardid=14)
----  xml上的查询语言  (http://bbs.xml.org.cn/dispbbs.asp?boardid=14&rootid=&id=15013)


--  作者:milany
--  发布时间:3/3/2005 3:53:00 PM

--  xml上的查询语言
请问目前XML上的查询语言有哪些?
请分别简要介绍,谢谢。
--  作者:linghun1
--  发布时间:4/14/2005 11:19:00 AM

--  
XML-QL语言能够通过查询来从XML文档中抽取信息,能够在不同DTD之间翻译XML数据,能够从多个XML文档中结合数据,能够传送XML数据等。

目前由W3C组织提出的XML-QL查询语言是查询XML文档的标准语言,另外还存在一些由其他组织自主研发的XML查询语言,例如AT&T公司的STRU-QL。以下论述是以W3C提出的标准QL为基准。以lib.xml作为输入的完整xml文档,介绍XML-QL的五种语法结构。文档lib.xml内容如下:

<?Xml version=”1.0?>
<lib>
       <book year=”2000”>
              <title>数据库系统概论</title>
              <author><lastname>萨师煊</lastname></author>
              <author><lastname>王珊</lastname></author>
              <publisher><name>高等教育出版社</name></publisher>
       </book>
       <book year=”2001”>
              <title>C程序设计第二版</title>
              <author><lastname>谭浩强</lastname></author>
              <publisher><name>清华大学出版社</name></publisher>
       <book>
</lib>
(1)用模式匹配数据

XML-QL使用元素模式来查找XML文档中的数据。如果在lib.xml中查询所有清华大学出版社编书的作者,可使用以下查询:

WHERE     <book>
                           <publisher><name>清华大学出版社</name></publisher>
                            <author>$a</author>
                     </book>       IN”lib.xml”
CONSTRUCT    $a
在以上的查找中,匹配的<book>元素必须包含一个<author>元素,而且有一个<name>元素为“清华大学出版社”的<publisher>元素。每找到一个符合条件的<book>元素,该XML-QL就会把<author>元素的内容赋给变量a。而XML-QL的最后结果是所有赋给a的<author>元素的内容。


(2)建立XML数据

上述查询中,XML-QL会生成一系列的<author>元素,也可以生成一系列包含<author>元素和<title>元素的<result>元素,以查找“高等教育出版社”的作者为例。

WHERE      <book>
                            <publisher><name>高等教育出版社</name></publisher>
                            <title>$t</title>
                            <author>$a</author>
                     </book>       IN”lib.xml”
CONSTRUCT    <result>
                                   <author>$a</author>
                                   <title>$t</title>
                            </result>
应用查询后我们将得到以下结果:

<result>
       <author><lastname>萨师煊</lastname></author>
       <title>数据库系统概论</title>
</result>
<result>
       <author><lastname>王珊</lastname></author>
       <title>数据库系统概论</title>
</result>



--  作者:zsulane
--  发布时间:4/14/2005 12:00:00 PM

--  
这个东西和XQuery什么关系?XQuery虽然是个work draft,但不是说很快就成标准了吗?怎么又有个XML-QL啊。看起来还这么丑。
--  作者:huanghaithh
--  发布时间:4/26/2005 11:37:00 PM

--  
xml-QL 是不是就是XQL啊?
--  作者:loveseven
--  发布时间:6/6/2005 9:33:00 PM

--  
2楼是不是没讲完呀?
--  作者:rosering
--  发布时间:6/8/2005 7:33:00 PM

--  
我想在多个xml里搜索怎么办呢?
--  作者:march
--  发布时间:6/13/2005 2:34:00 PM

--  
XQuery就是原来的XQL吧。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
6,632.813ms