XPath
それはなにか
ロケーションパスの構造
- 全体は / で区切られたいくつかの要素からなる
- 先頭が / で始まっていれば絶対パス.そうでない場合は相対パス.
- / で区切られた部分の構造
- 軸方向::名前空間:ノードテスト[述語]
- 軸方向
- child
- コンテクストノードの子ノード
- 軸を省略した時は child 扱い
- descendant
- コンテクストノードの子孫ノード
- parent
- コンテクストノードの親ノード
- .. で代替可能
- ancestor
- コンテクストノードの祖先ノード
- following-sibling
- コンテクストノードの兄弟ノードのうち後方のノード
- preceding-sibling
- コンテクストノードの兄弟ノードのうち前方のノード
- following
- XML文書の文書順でコンテクストノードより後方にある全てのノード
- preceding
- XML文書の文書順でコンテクストノードより前方にある全てのノード
- attribute
- コンテクストノードが要素の場合、その属性ノード
- @ で代替可能
- namespace
- コンテクストノードが要素の場合、その名前空間ノード
- self
- コンテクストノード自身
- . で代替可能
- descendant-or-self
- コンテクストノード自身とコンテクストノードの子孫ノード
- // で代替可能
- カレントから下方向に向けた再帰的な探索で使用
- ancestor-or-self
- コンテクストノード自身とコンテクストノードの祖先ノード
- child
- 名前空間
- xmlns 属性で指定されるもの
- xmllint の場合,setns コマンドによって別名を指定できる
- ノードテスト:条件でフィルタするためのもの
- ノードの名前
- 指定したノードそのもの
- node()
- 軸に含まれる全ノード
- text()
- 軸に含まれるテキストノード
- comment()
- 軸に含まれるコメントノード
- processing-instruction()
- 軸に含まれるPIノード
- processing-instruction(A)
- 軸に含まれるPIノードで、ターゲット名がAであるもの
- ノードの名前