XML Path Language
名前空間接頭辞が示す名前空間に属する全ての主ノード型のノードを指定する。
javax.xml.xpath パッケージがあり、XPath 1.0 が実装されている。XPathFactory.newInstance().newXPath() にて、XPath のインスタンスを作ることができ、XPath.evaluate() にて XPath を評価できる。
2014年4月8日に XPath 3.0 が勧告された。XQuery 3.0 は XPath 3.0 の拡張である。
ロケーションステップでは、ノードテストの後に、角括弧でくくる述語で複雑な式を記述して、ノードテストで指定されたノード集合を絞り込むことができる。 ノード集合を絞り込む必要が無い場合は、述語は記述しない。
簡単な例を示す。
//a[@href='help.php']
この例では、[@href='help.php']の部分が述語である。 このXPath式は、href属性をもち、かつその属性値が'help.php'である、全てのa要素ノードを指定する。
先の例では述語の数は1つであったが、ロケーションパスを構成するロケーションステップごとに、複数の述語を指定することができる。 すなわち、絞り込み条件を複数重ねて指定することができる。 指定できる述語の数に制限は無い。
述語は、その述語を含むロケーションステップのコンテクストを変更することは無い。
引数として渡す複数の文字列を連結して返す。