XPath 条件式の構築

www.altova.com すべてを展開/折りたたむ このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  ユーザー リファレンス > XPath 式 の編集ダイアログ >

XPath 条件式の構築

XPath 条件式の編集ダイアログ内にある [構築] ボタンがクリックされると、XPath 条件式を構築するための入力ヘルパーペインが表示されます。これら入力ヘルパー内にあるエントリーをダブルクリックすることで、テキスト ボックスのカーソル位置にそのアイテムが挿入されます。 テキストボックス—XPath X 式—のテキスト内の X のが XPath のバージョンを示しています。The XPath バージョンは、現在編集されている SPS のために選択されている XSLT のバージョンにより異なります。 (XSLT 1.0 のために XPath 1.0、 XSLT 2.0 のために XPath 2.0、 XSLT 3.0 のために XPath 3.0 が選択されます)。 XPath バージョンを切り替えるには、SPS の XSLT バージョン を切り替えます。

 

入力ヘルパー ペインには以下の 3 種類があります:

 

要素や属性ノードを XPath 条件式内部へ入力するためのスキーマ ツリー。[絶対 XPath] チェック ボックスにチェックが入れられていない場合、選択されたノードのロケーション パスがコンテキスト ノード (XPath 条件式が構築されているデザイン内にあるノード) に対して相対的に入力されます。[絶対 XPath] チェック ボックスにチェックが入っている場合、ドキュメント ルートから開始される絶対 XPath 条件式が入力されます。.
(i) アルファベット順または機能カテゴリーごとにまとめられた軸 (ancestor:: や parent:: など)、 (ii) 演算子 (eq や div など)、式 (for # in # return # など) を入力するための入力ヘルパー。ペイン上部にあるアイコンをクリックすることで、表示オプションを変更することができます。
アルファベット順、または、関数のカテゴリー別にグループ分けされたアクティブな XPath バージョンの関数を持つ入力ヘルパー。ペインの上の適切なアイコンをクリックして、オプションを選択します。それぞれ名前とデータ型を示すペインの上の  n  t  ボタンが関数の引数を表示しています。

 

 

Click to expand/collapse

 

構築の機能:

 

両方のペイン内のアイテムに関する詳細を表示するには、マウスをアイテムの上にかざします。
各関数は、自身の(引数、引数のデータ型、関数の出力のデータ型などである)署名と共にリストされています。
署名は、名前、または、関数の引数と出力のデータ型を利用してリストされています。2つの表示オプションの間を切り替えるには、ペインの上の  n  、または、  t  ボタンをクリックしてください。
ペイン(演算子、条件式、または、関数) 内のアイテムをダブルクリックして、式内のカーソルの箇所にアイテムを挿入します。関数はプレースホルダ(# シンボル)により示されている引数を使用して挿入されます。
(i) XPath 条件式の編集フィールド内でテキストが選択されており、 (ii) プレースホルダを含む関数の条件式が挿入のためにダブルクリックされている場合、選択されていたテキストがプレースホルダの代わりに挿入されます。

 

条件式内に関数を挿入後、関数名の上にマウスをポイントすると、関数の署名と関数の説明をしたテキストが表示されます。同じ名前を持つ関数のために異なる署名が存在する場合、これらはオーバーロード要素として下の部分に示されます。 カーソルを関数のかっこ内にかざし、 Ctrl+Shift+ Space キー を押すと、その関数名の多種のオーバーロードの署名を確認することができます。

 

XPath 条件式の構築

XPath 条件式の編集ダイアログでは、以下の方法により XPath 条件式の構築を行うことができます。

 

コンテキスト ノードとスキーマ ツリー

スキーマ属性や要素の選択ペイン内にある選択テキスト ボックスにコンテキスト ノードが表示されます。テキスト ボックス上にカーソルを配置することで、コンテキスト ノードのフルパスを確認できます。選択テキスト ボックス以下に表示されたスキーマ ツリーでは、コンテキスト ノードの出現位置を確認し、スキーマ ツリーへの参照を行うことで、素早く XPath 条件式を構築することができます。条件や自動計算などはこのコンテキスト ノードにおいて作成されるため、XPath 条件式も、このノードをコンテキストとして評価されます。

 

スキーマ ツリーからノードを挿入

スキーマ属性や要素の選択ペインにはスキーマ全体が表示されます。スキーマ ツリー内に表示されたノードをダブルクリックすることで、そのノードが XPath 条件式へ挿入されます。[絶対 XPath] チェック ボックスがチェックされていない場合、コンテキスト ノードに対して相対的なロケーション パスとともに選択されたノードが挿入されます。例えば上のスクリーンショットの場合、(コンテキスト ノードの) Newsitems の子要素である Newsitem 要素が、コンテキスト ノードに対して相対的なロケーション パスとともに挿入されます。[絶対 XPath] チェック ボックスがチェックされている場合、$XML/Presswatch/newsitems/newsitem という Newsitem ノードが挿入されます。

 

名前空間の情報

スキーマ属性や要素ペインにあるスキーマ ツリーには名前空間アイテムが含まれます。このアイテムを展開すると、スタイルシート内部で宣言されたすべての名前空間が表示されます。この情報は XPath 条件式にて使用する名前空間の接頭辞を確認するために使用することができます。

 

XPath 軸、演算子、条件式の挿入

演算子/式の選択ペインでは、SPS で選択されている XPath の軸 (ancester:: や parent:: など)、演算子 (eq や div など)、または式 (for # in # return # など) が表示されます。表示方式は、アルファベット順と、機能によりアイテムがグループ分けされた階層構造から選択することができます。軸、演算子、または 式を XPath 条件式に挿入するには、目的のアイテムをダブルクリックしてください。

 

XPath 関数の挿入

関数の選択 ペインは、 XPath 関数をアルファベット順に、または、機能別のグループ別にリストしています。  (ペインの上のアイコンをクリックして、2つの異なる表示方法を切り替えてください)。 各 関数は自身の署名と共にリストされています。関数に1つ以上の署名が存在する場合、その関数は署名の数だけリストされます。署名内の引数は、カンマで区切られており、各引数には、発生各ごとに発生インジケーターを有します  (? はゼロのシーケンス、または、指定された型の1つのアイテムを示し、 * iは、ゼロのシーケンス、または、指定された型の1つ以上のアイテムを示します)。引数は、なまえ、またはデータ型ごとに表示されます。ペインの上の  n  、または、  t  ボタンを選択して、2つの表示オプションを切り替えてください。各関数は、その関数の戻り型を指定します。 例: => date ? は、期待されるデータ型は、無しのシーケンス、または、 date アイテムであることを示しています。関数の上にマウスをかざすと、関数の短い説明が表示されます。

 

DlgEditXPath_Function

 

関数を XPath 条件式に挿入するには、目的の関数をダブルクリックしてください。

 

 

Java ならびに .NET 拡張を XPath 条件式に使用することで、これらプログラミング言語に搭載された関数へアクセスすることができます。ダイアログ下部にある [Java] ならびに [.NET] ポタンをクリックすると、XPath 条件式内部で Java ならびに .NET 拡張関数を使用するための方法が示されます。この機能の詳細については、このドキュメンテーション 拡張関数 を参照ください。

 

メモ:Java ならびに .NET 拡張関数は Altova の Authentic View 製品 が搭載された Community Edition の製品ではサポートされません。この機能は Enterprise Edition の製品でのみサポートされます。

 

テキスト直接入力時のインテリジェントな編集

条件式テキスト ボックスへ条件式を直接入力する場合、その時点で利用することのできるオプションがポップアップで表示されます (以下のスクリーンショットを参照)。

 

XPathDialogIntelliSense

 

表示されるオプションには要素 (上のスクリーンショットにある presswatch)、子孫ノード (presswatch/selection)、XPath 関数 (fn:upper-case)、そして XPath 軸 (ancestor-or-self) があります。[条件式] テキスト ボックスに条件式が入力されるに従い、表示されるオプションのリストが短くなります。矢印キーによりオプション アイテム間の移動を行うことができるほか、[Enter] キーによりオプションを選択し、条件式への挿入が行われます。

 

[それ以外] チェック ボックス

条件テンプレートの条件分岐にそれ以外の条件を追加することができる場合、[それ以外] チェック ボックスが表示されます (以下のスクリーンショットを参照)。それ以外の分岐が存在しない条件テンプレートにチェック ボックスは表示されるほか、すでにそれ以外の条件分岐が含まれる条件テンプレートを編集する際にも [それ以外] チェック ボックスは表示されます。[それ以外] チェック ボックスにチェックを入れ、[OK] ボタンをクリックすることで、条件テンプレートにそれ以外の条件分岐が追加されます。[それ以外] チェック ボックスにチェックを入れると、構築モードにあるすべての入力ヘルパーが無効になります。これは、それ以外の条件分岐に与えられる条件はなく、XPath 条件式を構築する必要がないためです。

 

DlgEditXPathOtherwise

 

[それ以外] 条件分岐を使用する詳細については、「次を参照してください: 条件テンプレート。

 

 

 


(C) 2019 Altova GmbH