XQuery提供编写自定义函数的功能。 下面列出了创建自定义函数的准则。
使用关键字declare function来定义函数。
使用当前XML架构中定义的数据类型
将函数体包含在花括号内。
使用XML命名空间前缀函数的名称。
创建自定义函数时使用以下语法。
语法
declare function prefix:function_name($parameter as datatype?…)
as returnDatatype?
{
function body…
};
示例
以下示例显示如何在XQuery中创建用户定义的函数。
XQuery表达式
declare function local:discount($price as xs:decimal?,$percentdiscount as xs:decimal?)
as xs:decimal? {
let $discount := $price – ($price * $percentdiscount div 100)
return $discount
};
let $originalPrice := 100
let $discountAvailed := 10
return ( local:discount($originalPrice, $discountAvailed))
输出结果 –
9
验证结果
要测试上述函数,用上面的XQuery表达式替换books.xqy(在XQuery环境设置章节中有说明)的内容,并执行XQueryTester java程序来验证结果。