文档详情

XML和Web数据管理XQuery.ppt

发布:2018-06-10约7.96千字共32页下载文档
文本预览下载声明
XQuery 函数 XQuery 用户定义函数 语法 declare function 前缀:函数名($参数 AS 数据类型) AS 返回的数据类型 { (: ...函数代码... :) }; 关于用户自定义函数的注释: 请使用 declare function 关键词 函数名须使用前缀 参数的数据类型通常与在 XML Schema 中定义的数据类型一致 函数主体须被花括号包围 XQuery 函数 一个在查询中声明的用户自定义函数的例子: declare function local:minPrice( $price as xs:decimal?, $discount as xs:decimal?) AS xs:decimal? { let $disc := ($price * $discount) div 100 return ($price - $disc) }; (: Below is an example of how to call the function above :) minPrice{local:minPrice($book/price, $book/discount)}/minPrice XQuery 什么是 XQuery 什么是 XQuery XQuery 是用于 XML 数据查询的语言 XQuery 对 XML 的作用类似 SQL 对数据库的作用 XQuery 被构建在 XPath 表达式之上 XQuery 被所有主要的数据库引擎支持(IBM、Oracle、Microsoft等等) XQuery 是 W3C 标准。 什么是 XQuery XQuery 和 XML 查询有关 XQuery 是用来从 XML 文档查找和提取元素及属性的语言。 例如:从存储在名为 cd_catalog.xml 的 XML 文档中的 CD 集那里选取所有价格低于 10 美元的 CD 纪录。 什么是 XQuery XQuery 与 XPath XQuery 1.0 和 XPath 2.0 共享相同的数据模型,并支持相同的函数和运算符。 XQuery - 应用 XQuery 可被用来: 提取信息以便在网络服务中使用 生成摘要报告 把 XML 数据转换为 XHTML 为获得相关信息而搜索网络文档 XQuery 实例 XQuery 实例 通过研究一个例子来学习一些基础的 XQuery 语法。 如何从 “books.xml” 选取节点? 函数 XQuery 使用函数来提取 XML 文档中的数据。 doc() 用于打开 books.xml 文件: doc(books.xml) XQuery 实例 路径表达式 XQuery 使用路径表达式在 XML 文档中通过元素进行导航。 下面的路径表达式用于在 books.xml 文件中选取所有的 title 元素: doc(books.xml)/bookstore/book/title (/bookstore 选取 bookstore 元素,/book 选取 bookstore 元素下的所有 book 元素,而 /title 选取每个 book 元素下的所有 title 元素) 上面的 XQuery 可提取以下数据: title lang=enEveryday Italian/title title lang=enHarry Potter/title title lang=enXQuery Kick Start/title title lang=enLearning XML/title XQuery 实例 谓语 XQuery 使用谓语来限定从 XML 文档所提取的数据。 下面的谓语用于选取 bookstore 元素下的所有 book 元素,并且所选取的 book 元素下的 price 元素的值必须小于 30: doc(books.xml)/bookstore/book[price30] 上面的 XQuery 可提取到下面的数据: book category=CHILDREN title lang=enHarry Potter/title authorJ K. Rowling/author year2005/year price29.99/price /book XQuery FLWOR 表达式 XQuery FLWOR 表达式 使用 FLWOR 从 “books.xml” 选取节点 请看下面这个路径表达式: doc(books.xml)/bookstore/book[price30]/title 上面这个表达式
显示全部
相似文档