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プログラムを実行します。