XPath

XPath は XML Path Language の略称です。非 XML 構文を使って、柔軟な方法で XML 文書の様々な部分をアドレッシングする(指し示す)ことができます。さらに、文書中で指し示されたノードがパターンに一致するかどうかの判定を行うこともできます。

XPath は主に XSLT で使われていますが、 HTMLSVG のような XML 風の言語の文書の DOM においても XPathExpression を用いることで、 Document.getElementById()Document.querySelectorAll() メソッドや Node.childNodes プロパティ、その他の DOM コア機能に依存することなく、はるかにパワフルな方法でたどることができます。

XPath は XML 文書の階層構造を辿るために(URL のような)パス表記を使います。また、URI や XML 属性値の中で使えるように非 XML 構文を採用しています。

メモ: XPath の対応状況は大きく異なります。 Firefox は合理的にうまく対応しています(対応をさらに改善する計画はありません)が、他のブラウザーではそれほど実装されていません。ポリフィルが必要な場合は、js-xpath または wicked-good-xpath を検討してください。

ドキュメント

JavaScript からの XPath 利用入門

XSLT 以外で XPath を使用する方法です。

XPath:Axes

XPath 仕様で定められている軸 (Axis) の一覧とその定義。軸はノード間の関係性を記述するのに使われます。

XPath:Functions

コア XPath 関数及び XSLT 固有の追加 XPath 関数の一覧とその定義。

XSLT による XML の変換

XSLT では変換したい XML 文書内のコードの一部を指し示すのに XPath を使います。

XPath スニペット

これらは DOM Level 3 XPath API に基づいて、独自のコードで使用できる JavaScript ユーティリティ関数です。

What is XSLT? (英語)

XSLT と XPath の予備知識が無い人を対象に、その背景や構造、概念、初歩的な専門用語を紹介する広範囲な入門ガイド。

ツール

XPath tester

オンラインの XPath ビルダー/デバッガーです。

関連事項