ロケーション パス
ロケーション パスは、コンテキスト ノードと相対的なノード セットを選択するために使用する XPath 式です。 ロケーション パス式を評価した結果として、ロケーション パスで指定したノードを含むノード セットが返されます。 ロケーション パスには、ノード セットをフィルターするために使用する式を再帰的に含めることができます。
構文上、ロケーション パスは 1 つ以上のロケーション ステップから構成され、各ロケーション ステップはフォワード スラッシュ (/
) で区切られます。
locationstep/locationstep/locationstep
各ロケーション ステップにより、コンテキスト ノードに対して (つまり、直前のロケーション ステップで選択されたノードに対して) 相対的にノード セットが選択されます。 こうしたロケーション パスは相対ロケーション パスとなります。 絶対ロケーション パスはルート要素から開始します。
/locationstep/locationstep/locationstep
ロケーション パスの中で、ロケーション ステップは左から右に評価されます。 左端のロケーション ステップにより、コンテキスト ノードに相対的にノード セットが選択されます。 これらのノードは、次のロケーション ステップの処理でコンテキスト ノードとなります。 すべてのロケーション ステップが処理されるまで、このステップの処理とコンテキスト ノードの更新が繰り返されます。
ロケーション パスでは完全表記と省略表記を使用することができます。
完全表記のロケーション パスでのロケーション ステップは次の構文となります。
axis::node-test[predicate]
この構文で、axis
はロケーション ステップで選択されるノードとコンテキスト ノードの関係を示します。node-test
は、ロケーション ステップで選択されるノードの型と展開名を示します。そして predicate
は、ロケーション ステップ中でノードの選択をさらに詳細に行うためのフィルター式です。 この述語は省略できます。 省略した場合、ロケーション ステップは axis::
および node-test
だけで構成されます。 次の表に例を示します。
完全表記のロケーション パス | 説明 |
---|---|
|
コンテキスト ノードに対して最後の |
|
コンテキスト ノードの親である |
|
コンテキスト ノードの、すべてのテキスト ノードの子を選択します。 |
|
コンテキスト ノードの子である |
省略表記のロケーション パスでは、ロケーション ステップ内に軸の指定 axis::
を明示的に使用せず、代わりに一組の略記法を使用します。 次の表に例を示します。
省略表記のロケーション パス | 説明 |
---|---|
|
コンテキスト ノードの |
|
コンテキスト ノードの親である |
|
コンテキスト ノードの、すべてのテキスト ノードの子を選択します。 |
|
コンテキスト ノードの子である |
以下はいくつかの略記法のまとめです。
完全表記 | 省略形 |
---|---|
|
|
|
|
|
|
|
|
|
|
このセクションの内容
以下のトピックではロケーション パスの各部の構文と使用法を詳細に説明しています。