zoukankan      html  css  js  c++  java
  • XQuery

    XQuery

    目录

    简介
    特点
    演示
    总结

    编辑本段简介

    简介

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

    编辑本段特点

    XQuery有如下特点:

    ·XQuery是查询XML的语言

    ·XQuery类似RDBMS的SQL

    ·XQuery建立在XPATH的基础之上

    ·XQuery已经被现在主流的RDBMS所支持,如Oracle, DB2, SQLServer

    XQuery应用举例

    ·从Web Service中提取信息

    ·生成数据的摘要报告

    ·将XML转换为XHTML

    ·从Web文档中找寻信息

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

    XML

    HTML/XHTML

    XPATH

    编辑本段演示

    XML文件books.xml中是如下代码:

    <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore>

    <book category="COOKING">

    <title lang="en">Everyday Italian</title>

    <author>Giada De Laurentiis</author>

    <year>2005</year>

    <price>30.00</price>

    </book>

    <book category="CHILDREN">

    <title lang="en">Harry Potter</title>

    <author>J K. Rowling</author>

    <year>2005</year>

    <price>329.99</price>

    </book>

    <book category="WEB">

    <title lang="en">XQuery Kick Start</title>

    <author>James McGovern</author>

    <author>Per Bothner</author>

    <author>Kurt Cagle</author>

    <author>James Linn</author>

    <author>Vaidyanathan Nagarajan</author>

    <year>2003</year>

    <price>349.99</price>

    </book>

    <book category="WEB">

    <title lang="en">Learning XML</title>

    <author>Erik T. Ray</author>

    <year>2003</year>

    <price>339.95</price>

    </book>

    </bookstore>

    文件存储了书店中的若干本书以及他们的语言,分类,作者,出版年和价格。

    现在,如果我们想找出所有价格大于30的书名集合则可以写XQuery为

    for $i in doc("books.xml")/bookstore/book

    where $i/price > 30

    return $i/title

    doc是打开一个XML文档的函数,XQuery有一个函数库支持,提供了诸如数学计算,字符串操作等功能。XQuery1.0于XPATH2.0,XSLT1.0共用同一套函数库。粗体部分是一个XPATH的表达式,他返回了所有书的集合。where子句是筛选条件。而return子句则用于选择结果并返回。XQuery具有和SQL类似的外观和结构,以及相似的表达力。

    上述XQuery将返回

    <title lang="en">XQuery Kick Start</title>

    <title lang="en">Learning XML</title>

    然后,我们想把所有书的名称组成一个排序列表并生成相应的HTML表格,则应该

    <ul>

    {

    for $x in doc("books.xml")/bookstore/book/title

    order by $x

    return <li>{$x}</li>

    }

    </ul>

    order子句用于排序。将返回

    <ul>

    <li><title lang="en">Everyday Italian</title></li>

    <li><title lang="en">Harry Potter</title></li>

    <li><title lang="en">Learning XML</title></li>

    <li><title lang="en">XQuery Kick Start</title></li>

    </ul>

    这是一段合理的HTML代码

    下面是一些XQuery语法的基本规则:

    ·大小写敏感

    ·元素,属性和变量名必须是合法的XML名称

    ·XQuery中的字符串可以使用单引或双引号

    ·XQuery中的变量用$前缀加名称表示

    ·XQuery中的注释在 (: 和 :)范围内

    另外,作为高级功能,XQuery还提供了用户自定义函数功能

    编辑本段总结

    XQuery将成为一种用于描述对XML数据源的查询的语言,具有精确、强大和易用的特点。其支持者认为针对XML的XQuery非常类似针对关系数据库SQL。对XQuery语言标准的定义工作已经于2007年初完成,版本为1.0

    XQuery 如果使用 FLWOR 从 "books.xml" 选取节点请看下面这个路径表达式:

    doc("books.xml")/bookstore/book[price>30]/title上面这个表达式可选取 bookstore 元素下的 book 元素下所有的 title 元素,并且其中的 price 元素的值必须大于 30。

    下面这个 FLWOR 表达式所选取的数据和上面的路径表达式是相同的:

    for $x in doc("books.xml")/bookstore/book

    where $x/price>30

    return $x/title结果是:

    <title lang="en">XQuery Kick Start</title>

    <title lang="en">Learning XML</title>通过 FLWOR,您可以对结果进行排序:

    for $x in doc("books.xml")/bookstore/book

    where $x/price>30

    order by $x/title

    return $x/titleFLWOR 是 "For, Let, Where, Order by, Return" 的只取首字母缩写。

    for 语句把 bookstore 元素下的所有 book 元素提取到名为 $x 的变量中。

    where 语句选取了 price 元素值大于 30 的 book 元素。

    order by 语句定义了排序次序。将根据 title 元素进行排序。

    return 语句规定返回什么内容。在此返回的是 title 元素。

    上面的 XQuery 表达式的结果:

    <title lang="en">Learning XML</title>

    <title lang="en">XQuery Kick Start</title>

    原文地址:http://baike.baidu.com/view/137314.html

  • 相关阅读:
    cesium 学习(七) HeadingPitchRoll
    cesium 学习(六) 坐标转换
    cesium 学习(五) 加载场景模型
    Cesium 学习(一)环境搭建
    Cesium 学习(二)所支持的模型数据类型,以及转换
    cesium 学习(四) Hello World
    Cesium 学习(三)各种资源链接
    【Windows编程】系列第十一篇:多文档界面框架
    【Windows编程】系列第十篇:文本插入符
    【Windows编程】系列第八篇:通用对话框
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/2375302.html
Copyright © 2011-2022 走看看