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
  • findet Verwendung in XSLT, XPointer, XQL, XQuery
  • 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) FIXME
    • 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

Navigation

Alphabetischer Index
Akronyme