XPath-Ausdrücke
XML-Dokumente werden als Baumstruktur organisiert, die aus einem Stammknoten und Nachkommen, also untergeordneten Knoten, besteht. Die Funktionsbibliothek stützt sich auf XPath-Argumente, um in dieser Baumstruktur zu suchen und einzelne XML-Knoten zu lokalisieren.
Das Ergebnis eines XPath-Ausdrucks kann ein Knoten oder eine Gruppe von Element-, Text- oder
Attributknoten sein. Beispielsweise werden mit dem XPath-Ausdruck /ABC/DEF alle dem Stammknoten ABC untergeordneten DEF-Knoten im XML-Dokument ausgewählt. In der folgenden Tabelle sind die am häufigsten auftretenden Merkmale der XPath-Syntax zusammengefasst.
| XPath-Syntax | Verwendung |
|---|---|
| / | Der am Anfang stehende normale Schrägstrich in einem
XPath-Ausdruck gibt das Stammelement der Baumstruktur an. Geben Sie einen absoluten Pfad durch einen am Anfang stehenden Schrägstrich an. Zum Beispiel gibt
/ABC das untergeordnete ABC-Element an, das sich im Stammelement befindet. Wenn Sie den am Anfang stehenden Schrägstrich weglassen, ist der Pfad relativ und der Kontext des relativen Pfads nimmt als
Standardwert das Stammelement an. Verwenden Sie nachfolgende normale Schrägstriche innerhalb eines XPath-Ausdrucks als Pfadtrennzeichen, um die untergeordneten Knoten eines
Knotens anzugeben. Beispielsweise gibt /ABC/DEF das Element DEF an, bei dem es sich um ein untergeordnetes Element
des Elements ABC handelt, das ein untergeordnetes Element des Stammelements ist. |
| // | Zwei normale Schrägstriche geben alle Nachkommen des aktuellen Knotens an. Beispielsweise stimmt ABC//DEF mit allen DEF-Elementen unterhalb des Elements ABC überein. |
| * | Der Stern ist das Platzhalterzeichen und gibt eine Übereinstimmung in einem
der untergeordneten Knoten an. Zum Beispiel stimmt /ABC/*/DEF mit allen DEF-Elementen überein, die ein in zweiter Ebene untergeordnetes
Element des Elements ABC sind. |
| [] | Eckige Klammern geben Vergleichselementausdrücke an, wie beispielsweise die Binäroperatoren
OR, AND und NOT. Zum Beispiel wird mit /RESIDENTS [AGE=65 and NAME="Jane Doe"]/ADDRESS das Element 'Address' aller Einwohner ausgewählt, deren Alter 65 Jahre und deren Name Jane Doe ist. Die eckigen Klammern bezeichnen auch einen Index für eine Liste. Beispielsweise gibt /POSTOFFICE/BOX[2] das Element mit der zweiten Postfachnummer unterhalb des Stammeelements POSTOFFICE an. |
| Knotenname | Mit der Variablen Knotenname werden alle untergeordneten Knoten des genannten Knotens ausgewählt. Es folgen Beispiele:
|
| . | Mit einem einzelnen Punkt wird der aktuelle Knoten ausgewählt. |
| .. | Mit zwei Punkten wird das übergeordnete Element des aktuellen Knotens ausgewählt. |
| @ | Mit dem kommerziellen A werden Attribute ausgewählt. Beispielsweise werden mit
//@lang alle Attribute ausgewählt, die mit 'lang' benannt sind. |
| func_ ' Name |
XPath unterstützt eine Gruppe von integrierten Funktionen wie beispielsweise substring(), round() und not(). Darüber hinaus können Sie benutzerdefinierte Funktionen zur Verfügung stellen, indem Sie Namensbereiche verwenden. |