最新的Web开发教程
 

XQuery函数


的XQuery 1.0,XPath 2.0中,和XSLT 2.0共享相同的函数的库。


XQuery函数

的XQuery是建立在XPath表达式。 的XQuery 1.0和XPath 2.0共享相同的数据模型,并支持相同的函数和操作符。

XPath运算符

XPath函数

您也可以在XQuery中定义自己的函数。


XQuery的数据类型

XQuery的共享相同的数据类型的XML模式1.0 (XSD)

XSD字符串

XSD日期

XSD数值

XSD杂项


函数调用的例子

对函数的调用可以出现其中一个表达式可能出现。 请看下面的例子:

实施例1:在一个元件

<name>{upper-case($booktitle)}</name>

实施例2:在一个路径表达式的谓词

doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']

实施例3:在一个let子句

let $name := (substring($booktitle,1,4))

XQuery的用户定义函数

如果你不能找到你需要的XQuery函数,你可以写你自己的。

用户定义的函数可以在查询中或在独立的库中定义。

句法

declare function 注意到在用户定义的函数:

  • 使用声明函数关键字
  • 函数的名称必须为前缀
  • 的参数的数据类型是大多相同的XML模式中定义的数据类型
  • 该函数的主体必须由大括号包围

一个用户定义的函数的例子在查询声明

declare function local:minPrice($p as xs:decimal?,$d as xs:decimal?)
as xs:decimal?
{
let $disc := ($p * $d) div 100
return ($p - $disc)
};

Below is an example of how to call the function above:

<minPrice>{local:minPrice($book/price,$book/discount)}</minPrice>