XQuery 1.0、XPath 2.0 和 XSLT 2.0 共享相同的函数库。
XQuery 构建于 XPath 表达式之上。 XQuery 1.0 和 XPath 2.0 共享相同的数据模型并支持相同的函数和运算符。
您还可以在 XQuery 中定义自己的函数。
XQuery 与 XML Schema 1.0 (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 函数,您可以编写自己的函数。
用户定义的函数可以在查询中或在单独的库中定义。
declare function
prefix:function_name($
parameter as datatype)
as
returnDatatype
{
...
function code here...
};
用户定义函数注意事项:
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>
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!