ロケーション パスでは軸を使用して、ロケーション ステップとコンテキスト ノードによって選択されたノード間の関係を指定します。

説明

ancestor::

コンテキスト ノードの祖先です。

コンテキスト ノードの祖先は、コンテキスト ノードの親、親の親、その親というように構成されるため、コンテキスト ノードがルート ノードでない限り、ancestor:: 軸には常にルート ノードが含まれます。

ancestor-or-self::

コンテキスト ノードとその祖先です。

ancestor-or-self:: 軸には常にルート ノードが含まれます。

attribute::

コンテキスト ノードの属性です。

この軸は、コンテキスト ノードが要素でない場合は空になります。

child::

コンテキスト ノードの子です。

子は、ツリー内でコンテキスト ノードのすぐ下にある任意のノードです。 ただし、属性ノードや名前空間ノードはコンテキスト ノードの子とは見なされません。

descendant::

コンテキスト ノードの子孫です。

子孫は、子、子の子、その子というようになるため、descendant:: 軸に属性や名前空間が含まれることはありません。

descendant-or-self::

コンテキスト ノードとその子孫です。

following::

ツリー内でコンテキスト ノードより後にあるすべてのノードです。子孫、属性ノード、および名前空間ノードは除かれます。

following-sibling::

コンテキスト ノードの後続のすべての兄弟です。

following-sibling:: 軸では、ツリー内でコンテキスト ノードより後にある親ノードの子だけが識別されます。 この軸では、コンテキスト ノードより前に表示される他の子はすべて除かれます。

コンテキスト ノードが属性ノードまたは名前空間ノードの場合、following-sibling:: 軸は空です。

namespace::

コンテキスト ノードの名前空間ノードです。

コンテキスト ノードのスコープ内のすべての名前空間には名前空間ノードがあります。

この軸は、コンテキスト ノードが要素でない場合は空になります。

parent::

存在する場合、コンテキスト ノードの親です。

親は、ツリー内でコンテキスト ノードのすぐ上にあるノードです。

preceding::

ツリー内でコンテキスト ノードより前にあるすべてのノードです。祖先、属性ノード、および名前空間ノードは除かれます。

preceding 軸は、内容全体がコンテキスト ノードの開始位置より前にあるすべてのノードと考えることができます。

preceding-sibling::

コンテキスト ノードに先行するすべての兄弟です。

preceding-sibling:: 軸では、ツリー内でコンテキスト ノードより前に表示される親ノードの子だけが識別されます。 この軸では、コンテキスト ノードより後にある他の子はすべて除かれます。

コンテキスト ノードが属性ノードまたは名前空間ノードの場合、preceding-sibling:: 軸は空です。

self::

コンテキスト ノード自体です。

解説

  • 名前空間
    各要素は関連する名前空間ノードの集合を持ちます。この名前空間ノードは、要素のスコープ内にある異なる名前空間プレフィックス (XML Namespaces Recommendation によって暗黙に宣言される xml を含む) それぞれについて 1 つ、さらに要素のスコープ内に既定の名前空間がある場合は、それに 1 つあります。 要素はこれら名前空間ノードの親です。ただし、名前空間ノードはその親要素の子ではありません。 要素が名前空間ノードを共有することはありません。要素が別の要素ノードと同じノードでない場合、要素ノードの名前空間ノードが、別の要素ノードの名前空間ノードと同じになることはありません。 これは、1 つの要素が 1 つの名前空間ノードを持つことを意味します。

    • 名前が xmlns: で始まる要素のすべての属性について。

    • 名前が xmlns: で始まる祖先要素のすべての属性について (要素それ自体または最も近い祖先がプレフィックスを再宣言していない場合)

    • 要素または祖先が xmlns 属性を持ち、最も近いそのような要素の xmlns 属性の値が空でない場合、xmlns 属性について。

次のインスタンス内の <sample> 要素。

次の名前空間ノードを含みます。

次のインスタンス内の <sample> 要素。

次の名前空間ノードを含みます。

xmlns:sampletest="sampletest"

xmlns:test="test"

ms256456.note(ja-jp,VS.100).gif注 :
属性 xmlns="" は既定の名前空間の宣言を解除します。

名前空間ノードには展開名があります。ローカル部は名前空間プレフィックスです (既定の名前空間に対する名前空間ノードの場合、これは空です)。名前空間 URI (Uniform Resource Identifier) は常に NULL です。

名前空間ノードの文字列値は、名前空間プレフィックスに結合されている名前空間 URI です。それが相対の場合、展開名内の名前空間 URI と同様に解決される必要があります。

following::

following:: 軸の例では、このインスタンス ドキュメントを参照します。

クエリ 返されたノード

A/B[1]/following::*

A/B[1]/following::node()

preceding::

preceding:: 軸の例では、このインスタンス ドキュメントを参照します。

クエリ 返されたノード

A/B[2]/preceding::*

following-sibling::

following-sibling:: 軸の例では、このインスタンス ドキュメントを参照します。

クエリ 返されたノード

A/B[1]/following-sibling::*

preceding-sibling::

preceding-sibling:: 軸の例では、このインスタンス ドキュメントを参照します。

クエリ 返されたノード

A/B[2]/preceding-sibling::*

参照

リファレンス

ロケーション ステップ
ノードのテスト
述語