軸
XPath 仕様では 13 種類の軸 (Axis) が定められています。軸はコンテキストノードとの関連性を表し、ツリー上でのノードのコンテキストノードからの相対的な位置を示すのに用いられます。
XPath 式の使用に関するより詳しい情報は、 XSLT による XML の変換ガイドの参考文献の節を参照してください。また、XPath 仕様書の 'axes' の節も参照してください。
ancestor-
コンテキストノードの親ノードからルートノードまでのすべての祖先を示します。
ancestor-or-self-
コンテキストノードと、そのすべてのルートノードを含む祖先を示します。
attribute-
コンテキストノードの属性を示します。属性を持つのは要素のみです。この軸はアットマーク (
@) によって省略できます。 child-
コンテキストノードの子を示します。 XPath 式で軸が指定されていなければ、デフォルトでこの軸が指定されていると認識されます。子を持つのはルートノードか要素ノードのみなので、他のノードでこの軸を使用しても何も選択されません。
descendant-
コンテキストノードのすべての子と、そのすべての子と、そのまたすべての・・・というように示します。属性ノードと名前空間ノードは含まれません。
attributeノードのparentは要素ノードですが、attributeノードはその要素ノードの子ではないからです。 descendant-or-self-
コンテキストノードと、そのすべての子孫を示します。属性ノードと名前空間ノードは含まれません。
attributeノードのparentは要素ノードですが、attributeノードはその要素ノードの子ではないからです。 following-
コンテキストノードの後に現れる、
descendant、attribute、namespaceノードを除くすべてのノードを示します。 following-sibling-
コンテキストノードと同じ親を持ち、ソース文書内でコンテキストノードの後に現れるすべてのノードを示します。
namespace(未対応)-
コンテキストノードのスコープ内にあるすべてのノードを示します。この場合、コンテキストノードは要素ノードでなければなりません。
parent-
コンテキストノードの親である単一のノードを示します。この軸は 2 つのピリオド (
..) によって省略できます。 preceding-
文書内でコンテキストノードの前に現れる、
ancestor、attribute、namespaceノードを除くすべてのノードを示します。 preceding-sibling-
コンテキストノードと同じ親を持ち、ソース文書内でコンテキストノードの前に現れるすべてのノードを示します。
self-
コンテキストノード自身を示します。 この軸はピリオド (
.) によって省略できます。