XQuery自定義函數
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程序來驗證結果。