式ビルダーにより現在のコンテキストノードに対して正確な XPath 式を作成することが可能になります。正確なノードロケーターパスの入力、スキーマツリー内でのノードの選択、文法的に正確な演算子と関数の入力が可能になります。「ビルダー」 ボタンをクリックして式ビルダーに切り替えます (下のスクリーンショットを参照)。「ビルダー」 ボタンがクリックされると、 XPath 式の作成をヘルプする入力ヘルパーペインが表示されます。式ペイン内のカーソルが置かれている場所に入力するためにエ入力ヘルパー内のエントリをダブルクリックします。「OK」 をクリックすると、デザイン内の現在の場所に式は入力されます。
入力ヘルパー ペインには以下の 3 種類があります:
•要素と属性を選択し入力するためのスキーマツリー相対的な XPath チェックボックスがチェックされていると(作成されている XPath 式内のデザイン内のノードである)選択されているノードへのロケーションパスはコンテキストノードに対して相対的に挿入されます。コンテキストノードはスキーマツリーペインの下に表示されています。上のスクリーンショットではコンテキストノードは Customer 要素であることがわかります。ウィンドウのタイトルバーから ラベル3 コントロールの テキスト プロパティのために XPath 式が作成されていることがわかります相対的な Xpath チェックボックスがチェックされていない場合、選択されたノードをロケートする絶対的な Xpath 式が入力されます。このような式はドキュメントルートから開始されます。例: $CUSTOMERS/Customers/Customer/Name。
•演算子と式のための入力ヘルパーペイン。以下が含まれます: (i) 軸 (ancestor::, parent::, など) (ii) 演算子 (例えば、 eq と div) および (iii) 式 (for # in # return #, など)。ペインのアイテムはアルファベット順、または関数カテゴリ別にグループ分けすることができます。ペインのタイトルバー内のドロップダウンメニューから(グループ別のオプションのための) 階層的 または (アルファベット中のリストのための) フラット を選択してオプションを選択します。
•アルファベット順、または関数別にグループ分けされたアクティブな XPath バージョンの関数を持つ入力ヘルパー。ペインのタイトルバー内のドロップダウンメニューから(グループ別のオプションのための) 階層的 または (アルファベット中のリストのための) フラット を選択してオプションを選択します。名前/型 オプションにより関数の引数が名前またはデータ型で表示されるかを選択することができます。MobileTogether 拡張関数 と Altova 拡張関数が使用できる関数に含まれていることに注意してください。
•両方のペイン内のアイテムに関する詳細を表示するには、マウスをアイテムの上にかざします。
•各関数は、自身の(引数、引数のデータ型、関数の出力のデータ型などである)署名と共にリストされています。
•署名は、名前、または、関数の引数と出力のデータ型を利用してリストされています。ペインのタイトルバー内のドロップダウンメニューから 名前 または 型 を選択してください。
•ペイン(演算子、条件式、または、関数) 内のアイテムをダブルクリックして、式内のカーソルの箇所にアイテムを挿入します。関数はプレースホルダ(# シンボル)により示されている引数を使用して挿入されます。
•(i) (例えば上のスクリーンショット内での 名前 ) XPath 条件式の編集フィールド内でテキストが選択されており、 (ii) プレースホルダを含む関数の条件式が挿入のためにダブルクリックされている場合、選択されていたテキストがプレースホルダの代わりに挿入されます。
•条件式内に関数を挿入後、関数名の上にマウスをポイントすると、関数の署名と関数の説明をしたテキストが表示されます。関数のために追加署名が存在する場合、ポップアップの下のおーb-ラップする要素に表示されています。(メモ: 同じ名前を持つ関数のために異なる署名が存在する場合、これらはオーバーロード要素として下の部分に示されます。
•式ペイン内でカーソルを関数のカッコ内にかざし 「Ctrl+Shift+ Space キー」 を押すと、その関数名の多種のオーバーロードの署名を確認することができます。
XPath 式 の編集ダイアログは次の方法で XPath 式の作成を手助けします。
•ウィンドウのタイトルバーは以下を表示しています:
XPath/XQuery ウィンドウのタイトルバーは (デザインコンポーネント (プロジェクト、ページ、コントロール、など) とプロパティ) 式の作成対象のコンテキストの情報を表示します。例えば、上のスクリーンショットでは、式は Customers という名前のページ上の Label3 コントロールの テキスト プロパティのために作成されています。
•コンテキストノードとスキーマツリー
スキーマツリーペインのすぐ下の コンテキスト テキストボックスは式のコンテキストノードを表示します。スキーマツリー内では、コンテキストノードの発生個所を確認し、スキーマツリーを参照して XPath 式を素早く作成することができます。
•スキーマツリーからのノードの挿入
スキーマツリー内のノードをダブルクリックし、 XPath 式に挿入します。相対的な XPath チェックボックスがチェックされていると、選択されているノードはコンテキストノードに相対的なロケーションパス式と共に挿入されます。例えば、上のスクリーンショットでは、 Customer 要素 (コンテキストノード)の子である Name 要素が Customer 要素に相対的なパスを使用して挿入されています。「相対的な XPath」 チェックボックスがチェックされていない場合、Nameノードは $CUSTOMERS/Customers/Customer/Name として挿入されます。
•XPath 軸、演算子、式の挿入
「演算子/式の選択」 ペインは、 XPath 軸 (ancestor::、parent:: など)、 (ii) 演算子 (例えば eq と div)、 および (iii) 式 (for # in # return # など)を表示します。(アイテムを機能別にグループ分けする)アルファベット順リストと階層リスト間で切り替えることができます。軸、または演算子を XPath 条件式に挿入するには、目的のアイテムをダブルクリックしてください。軸/演算子/式の上にマウスをかざすと、関数の短い説明が表示されます。
•XPath 関数の挿入
関数の選択 ペインは、 XPath 関数をアルファベット順に、または、機能別のグループ別にリストしています。(階層的 または フラット をペインの上で選択して2つの表示方法を切り替えることができます)。各 関数は自身の署名と共にリストされています。関数に1つ以上の署名が存在する場合、その関数は署名の数だけリストされます。署名内の引数は、カンマで区切られており、各引数には、発生各に発生インジケーターを有しますシンボル ? はゼロのシーケンス、または、指定された型の1つのアイテムを示し、 * iは、ゼロのシーケンス、または、指定された型の1つ以上のアイテムを示しています。引数は、名前、またはデータ型ごとに表示されます。適切なオプション (名前 または 型)をペインのトップで 選択して2つの表示方法を切り替えます例: 例: => date ? は、期待されるデータ型は、無しのシーケンス、または、 date アイテムであることを示しています。関数の上にマウスをかざすと、関数の短い説明が表示されます。
式テキストボックスに直接入力する場合、その時点で使用することができるリストがポップアップで表示されます (下のスクリーンショットを参照)。
以下のコンポーネントが含まれます:
•要素(上のスクリーンショットに表示される presswatch など)、
•子孫ノード (上のスクリーンショットに表示される presswatch/selection ) とコンテキストノードの親ノード。
•(上に表示される fn:upper-case ) XPath 関数と(上に表示される ancestor-or-self) XPath 軸。
•プロジェクトのために定義された グローバル変数 ( $ 文字が式に入力されると表示されます)
•ローカライズダイアログ内で定義された custom strings のリスト (mt-load-string 関数が式に挿入されると表示されます。 mt-load-string の詳細を参照してください)。
「上へ」 と 「下へ」キーを使用してオプションのリストを上下に移動し、「Enter」 を押して、オプションを選択して式に入力してください。