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程式來驗證結果。