XPath ist eine vom W3C entwickelte Abfragesprache, um Teile eines XML-Dokumentes zu adressieren. Auf ihr basieren weitere Standards wie XSLT, XPointer und XQuery.
Ein XPath-Ausdruck setzt sich zusammen aus:
einem oder mehreren Lokalisierungsschritten,
sie werden mit dem Zeichen / getrennt.
optional gefolgt von einem oder mehreren Prädikaten.
Lokalisierungsschritte bestehen aus einer Achse und einem Knotentest, die Achse::Knotentest geschrieben werden.
Achsen
Hier die gebräuchlichsten Achsen:
- child
- Direkt untergeordneter Knoten ./
- parent
- Direkt übergeordneter Elternknoten ./..
- self
- Der Kontextknoten selbst, der für zusätzliche Bedingungen ausgewählt wird .
- descendant
- Untergeordnete Knoten .//
- attribute
- Attributknoten @
Knotentests
Knotentests schränken die Elementauswahl einer Achse ein:
- Elementname
- Beispiel: .//Foo wählt alle Elemente des untergeordneten Knotens mit dem Namen Foo.
- *
- Auswahl aller Elemente eines Knotens
- text(), comment() und processing-instruction()
- Auswahl von Knoten eines bestimmten Typs