XQuery - 自定义函数


XQuery 提供了编写自定义函数的能力。下面列出了创建自定义函数的指南。

  • 使用关键字declare function来定义函数。

  • 使用当前 XML 模式中定义的数据类型

  • 将函数体括在花括号内。

  • 使用 XML 命名空间作为函数名称的前缀。

创建自定义函数时使用以下语法。

句法

declare function prefix:function_name($parameter as datatype?...)
as returnDatatype?
{
   function body...
};

例子

以下示例显示如何在 XQuery 中创建用户定义函数。

X查询表达式

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)) 

输出

90

验证结果

要验证结果,请将books.xqy的内容(在环境设置章节中给出)替换为上面的 XQuery 表达式并执行 XQueryTester java 程序。