ユーザー定義 XPath/XQuery 関数

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  XPath/XQuery: 式、関数、変数 > XPath/XQuery 式と関数 >

ユーザー定義 XPath/XQuery 関数

プロジェクトのすべての XPath 式で使用することのできる、個別プロジェクトのための専用 XPath/XQuery 関数を作成することができます。これらのユーザーにより定義された関数を作成し、管理するアクセス ポイントは、[プロジェクト | XPath/XQuery 関数] コマンドによりアクセスできる XPath 関数ダイアログです。 XPath 関数ダイアログ (下のスクリーンショット) は、プロジェクト内のすべてのユーザー定義 XPath 関数をリストしています。ツールバーまたは、ダイアログの対応するアイコンを使用して、関数を追加または削除することができます。関数の定義を編集する場合、は関数の[ XPath 式の編集] ボタンをクリックします。

MTXPathFunctionsDlg

関数リストは関数名に順序付けることができます。これは、関数名列をクリックすることで実行できます。各クリックのサイクルは次のシーケンスで関数を順序づけます: (i) 昇順、 (ii) 降順、 (iii) ダイアログの順序。ダイアログ内の順序は関数を、リスト内でドラッグアンドドロップすることで変更することができます。 リストを 昇順/降順 の順序に置換えた後、関数をリスト内で他の場所に移動させると、新しく作成された順序がダイアログの順序となる点に注意してください。

 

 

ユーザにより定義された新しい XPath 関数の追加

ユーザーにより定義された新しい関数を追加するには次の 2 つのステップを踏みます: (i) 関数の宣言と (ii) 関数の定義。

 

新しい関数を追加するには以下を行います、 XPath 関数ダイアログ(上のスクリーンショット参照) のツールバーから [追加] をクリックします。これにより新しい XPath 関数ダイアログ(下のスクリーンショット) が表示されます。

MTNewXPathFunction

このダイアログで、関数の名前の宣言、関数パラメーター (引数) の数と種類の指定、関数の戻り値の種類を指定することができます。上のスクリーンショットで摂氏から華氏へ変換する関数の小数点の宣言をおこなっています。関数は摂氏の値を小数とする 1 つのパラメーターをもちます。これは、小数、華氏の気温、を出力します。 関数の働きに関しては、次のステップで説明されています。 関数 (上のスクリーンショット) を宣言した後、[OK] をクリックします。関数を定義することのできる、新しく宣言された関数のテンプレートを含む関数の編集ダイアログ (下のスクリーンショット) が表示されます。

MTEditFunctionDlg

波かっこに関数の定義を入力します。上のスクリーンショットに表示された定義では、 $a が入力パラメーターです。 [OK] をクリックして終了します。 関数は XPath 関数ダイアログのユーザー定義関数のリストに追加され、プロジェクトのすべての XPath 式で使用することができます。

 

メモ:ユーザー定義 XPath 関数は個別の名前空間にある必要はありません。結果、ユーザー定義関数を定義または呼び出す際に名前空間プレフィックスは必要ありません。 XPath デフォルト名前空間 は、拡張関数およびユーザー定義関数を含む、すべての XPath/XQuery 関数に使用されています。内蔵された関数を含むあいまいさを回避するために、ユーザー定義関数を大文字にすることが奨励されます。

 


(C) 2019 Altova GmbH