Xquery-custom-functions

提供:Dev Guides
移動先:案内検索

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

出力

90

結果を確認する

結果を確認するには、books.xqy(link:/xquery/xquery_environment [Environment Setup]の章に記載)の内容を上記のXQuery式で置き換え、XQueryTester Javaプログラムを実行します。