• +49-(0)721-402485-12
Ihre Experten für XML, XQuery und XML-Datenbanken

Lokalisierungspfade

Ein Lokalisierungspfad ist eine Formulierung, mit der bestimmte Knoten oder Knotenmengen innerhalb eines XML-Dokumentes angesteuert bzw. ausgewählt werden können. Lokalisierungspfade können

  • verkürzt oder ausführlich beschrieben
  • relativ oder absolut

sein.

Verkürzte und ausführliche Syntax

Ein Pfadausdruck in XPath kann ausführlich beschrieben oder verkürzt werden. Während die ausführliche Syntax bei seltener adressierten Knoten und Achsen üblich ist, existiert für häufig selektierte Knoten und Achsen eine verkürzte Schreibweise. Die Bezeichnung "child::" für die Kind-Achse kann z.B. grundsätzlich weggelassen werden, da diese als Standardachse angesehen wird.

Ein Beispiel für die ausführliche Schreibweise:

/child::HOCHSCHULE/child::PHILOSOPHIE/child::STUDENTENZAHL/attribute::EINHEIT/

Die verkürzte Schreibweise

/HOCHSCHULE/PHILOSOPHIE/STUDENTENZAHL/@EINHEIT

verzichtet bei der Child-Achse auf die Achsenbezeichnung, der Attributknoten wird durch das Zeichen @ abgekürzt.

 

Gegenüberstellung ausführlicher und verkürzter Syntax:

Achse/Knotenvollständigverkürzt
Knoten selbstself::node().
Kinderchild::Standard-Achse (Default),
die Angabe kann weggelassen werden
Nachkommendescendant-or-self::node()///
Elternparent::node()..
Attributeattribute::@

 

Absolute und relative Pfadangaben

Eine Pfadangabe in XPath kann relativ oder absolut sein. Während relative Pfade vom (aktuellen) Kontextknoten aus starten, geht ein absoluter Lokalisierungspfad vom Wurzelknoten aus. Ein Lokalisierungspfad setzt sich aus mehreren Lokalisierungsschritten zusammen, die durch Schrägstriche voneinander getrennt werden. Ein Lokalisierungsschritt enthält die Angabe einer Achse, die Angabe eines Knotentests und ein (oder mehrere) Prädikat(e), wobei die Angabe von Prädikaten optional ist.

/child::HOCHSCHULE/child::POLITIK/child::DEKAN

Der erste Schrägstrich markiert den Wurzelknoten. Davon ausgehend wird das Wurzelelement <HOCHSCHULE> ausgewählt, das über ein Kindelement <POLITIK> verfügen muss, welches wiederum ein Kindelement <DEKAN> aufweisen muss, damit ein Treffer erzielt wird. Die Bezeichnung der Achsen erfolgt durch die Angabe des Namens, gefolgt von zwei Doppelpunkten.

In verkürzter Schreibweise lautet der Pfad:

/HOCHSCHULE/POLITIK/DEKAN

Relative Pfadangaben ermöglichen eine Suche im gesamten Dokument:

child::POLITIK/child::DEKAN

Nun wird im gesamten XML-Dokument nach dem Element <POLITIK> und dessen Kindelement <DEKAN> gesucht. Wenn diese Kombination im Dokument vorkommt, wird ein Treffer erzielt.

<< zurückvor >>