XQuery - 自定义函数

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

  • 使用关键字声明函数定义函数.

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

  • 将函数体括在花括号中.

  • 使用XML命名空间前缀函数的名称.

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

语法

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

示例

以下示例说明如何在XQuery中创建用户定义的函数.

XQuery Expression

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程序.