XPath
XPath は XML Path Language の略称です。非 XML 構文を使って、柔軟な方法で XML 文書の様々な部分をアドレッシングする(指し示す)ことができます。さらに、文書中で指し示されたノードがパターンに一致するかどうかの判定を行うこともできます。
XPath は主に XSLT で使われていますが、 HTML や SVG のような 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 ビルダー/デバッガーです。