Inhaltsverzeichnis
X-Path
Definition
<autolink>
- Lokatorsprache zur Adressierung / Auswahl beliebiger Knotenmengen eines XML-Dokuments
- Das „SQL von XML“ → als Anfragesprache verwendbar
- Empfehlung des W3C von 1999
- DTD und XML Schema müssen nicht vorhanden sein
- Datenmodell basiert auf einem abstrakten Baum
- Knoten = Elemente des Dokuments
- Kanten = Subelementbeziehungen
Funktionsweise
- Selektion erfolgt durch schrittweise Navigation ausgehend vom Kontextknoten
- Abarbeitung von links nach rechts
- Absolute und relative Pfadausdrücke
- relativ – immer relativ zum Kontextknoten
- absolut – absoluter Pfad vom Wurzelknoten aus
- Achsen zum Navigieren in der XML-Baumstruktur
- ancestor – übergeordnete Knoten
- descendant – untergeordneter Knoten
- following – nachfolgender Knoten (horizontal)
- preceding – vorangegangener Knoten (horizontal)
- self – Kontextknoten
- Knotentest
- node() - wahr für alle Knoten
- text() - wahr für alle Textknoten
- * - wahr für alle Elemente
- comment() - wahr für alle Kommentarknoten
- Prädikate
- sind Ausdrücke, die einen Wert liefern und die selektierten Knoten weiter filtern
- Vergleich von Zeichenketten , logische und arithmetische Abfragen
- Auswahl an Funktionen (mehr siehe Übung 6 Folie 10,11)

- position(), count(), true(), falses(),
- für Strings: concat() - verkettete Zeichenkette, starts-with(string1,string2), contains(string1,string2), substring(string, nr1, nr2), string-length(string)
Syntax
Achse::Knotentest[Prädikat}- Die Angabe der Achse und der Knotenprüfung sind Pflichtangaben, Prädikat optional
| Kürzel | Langform | Bedeutung |
|---|---|---|
Child::node() | Nachkomme eines Knote | |
. | Self::node() | Bezeichnung des aktuellen Knoten |
.. | Parent:node() | Bezeichner den Elternknoten |
/ | Bezeichnet den Wurzelknoten oder trennt Pfadknoten | |