XQuery 1.0, XPath 2.0, and XSLT 2.0 share the same functions library.
XQuery is built on XPath expressions. XQuery 1.0 and XPath 2.0 share the same data model and support the same functions and operators.
You can also define your own functions in XQuery.
XQuery shares the same data types as XML Schema 1.0 (XSD).
A call to a function can appear where an expression may appear. Look at the examples below:
Example 1: In an element
<name>{upper-case($booktitle)}</name>
Example 2: In the predicate of a path expression
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']
Example 3: In a let clause
let $name := (substring($booktitle,1,4))
If you cannot find the XQuery function you need, you can write your own.
User-defined functions can be defined in the query or in a separate library.
declare function
prefix:function_name($
parameter as datatype)
as
returnDatatype
{
...
function code here...
};
Notes on user-defined functions:
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>
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!