Skip to main content

xpath

Was ist xpath?

XPath steht für XML Path Language. Die Sprache verwendet eine eigene Syntax, um eine flexible Möglichkeit zu bieten, verschiedene Teile eines XML-Dokuments zu adressieren. XPath kann auch dazu verwendet werden, um adressierte Knoten in einem Dokument zu testen, um festzustellen, ob die Adressierung mit einem Muster übereinstimmen oder nicht. Der Hauptzweck von XPath besteht jedoch darin, Teile eines XML-Dokuments zu adressieren.

Um eine Adressierung zu gewährleisten, verfügt die Sprache über grundlegende Möglichkeiten zur Manipulation von Strings, Zahlen und logischen Variablen. Dazu verwendet die XML Path Language eine einfache Nicht-XML-Syntax, auch um die Verwendung von XPath innerhalb von URIs und XML-Attributwerten zu erleichtern. Mit der XML Path Language kann die abstrakte und logische Struktur eines XML-Dokuments verändert werden, nicht jedoch die Oberfläche. Der Name XPath leitet sich aus der Pfadnotation ab, wie sie in URLs zum Navigieren durch die hierarchische Struktur eines XML-Dokuments verwendet wird.

XML Path Language wird hauptsächlich in XSLT verwendet, kann aber auch als wesentlich leistungsstärkerer Weg durch das DOM eines beliebigen XML-ähnlichen Sprachdokuments wie HTML und XUL verwendet werden.

Entworfen vom World Wide Web-Konsortium

Das World Wide Web Consortium (W3C) bezeichnet XML Path Language als eine Ausdruckssprache, die die XML-konforme Verarbeitung von Werten ermöglicht. Webentwickler haben dadurch die Möglichkeit, die Daten einer XML-Datei zu manipulieren. Die am häufigsten ausgewählten Teile sind Elemente und Attribute. Elemente sind Start- und End-Tags und die Teile (Text und andere Elemente) verschachtelt, und Attribute sind die “Name = ‘Text” -Konstruktion, die Sie in Elementstart-Tags sehen.

Die XML Path Language ist keine eigenständige Sprache. Das heißt, die Syntax ist so konzipiert, dass sie in einer anderen Sprache (genannt “Host-Sprache”) verwendet werden muss, um den Zugriff auf XML-Informationen zu unterstützen. Das ist für Webentwickler sehr interessant, denn dann kann der Host XML Path Language verwenden, um die wesentlichen Schritte der Suche und Datenkonvertierung durchzuführen, die erledigt werden müssen. Zur Erledigung dieser Aufgaben verwendet XPath keine XML-Syntax, keine Tags, spitze Klammern oder Verschachtelung. Die Sprache erkennt jedoch XML-Tag- und Attributnamen.

So funktioniert XPath

XML Path Language stellt ein XML-Dokument als Knoten mit einer Baumstruktur dar. Dabei verwendet die Sprache unterschiedliche Knoten wie zum Beispiel Attributknoten, Elementknoten oder Testknoten. Die Sprache ermöglicht es einen Zeichenfolgewert für jeden Knoten zu errechnen. Bei den Namen der Knoten unterstützt die XML Path Language vollständig den XML-Namespace. So wird der Name eines Knotens als Paar dargestellt, das aus einem lokalen Teil und einem Null-Namespace-URI besteht. Dies wird als erweiterter Name bezeichnet.
Das syntaktische Element der Syntax ist ein Ausdruck. Ein Ausdruck wird ausgewertet, um ein Objekt zu manipulieren. Dieses Objekt muss mindestens einen der folgenden Grundtypen aufweisen:

  • Node-set – Knotenmenge ohne Duplikate
  • Boolean – Wahr oder falsch
  • Number – Fließkommazahl
  • String – Zeichenfolge von UCS-Zeichen

Der Ausdruck wird in Bezug zu einem Kontext bewertet. XSLT und XPointer geben an, wie der Kontext für XPath-Ausdrücke bestimmt wird, die in XSLT bzw. XPointer verwendet werden. Der Kontext besteht aus:

  • Einen node – Kontextknoten
  • Ein Paar von positiven Zahlen ungleich Null – die Kontextposition und die Kontextgröße
  • Eine Reihe von variablen Bindungen
  • Eine Function Library – eine Funktionsbibliothek
  • Eine Menge der Namespace-Deklarationen im Bereich für den Ausdruck

Die Kontextposition ist immer kleiner oder gleich der Kontextgröße.

Die Funktionsbibliothek besteht aus einer Zuordnung von Funktionsnamen zu Funktionen. Jede Funktion benötigt null oder mehr Argumente und gibt ein einzelnes Ergebnis zurück. Für eine Funktion in der Funktionsbibliothek gehören Argumente und Ergebnisse zu den oben genannten vier Grundtypen. Sowohl XSLT als auch XPointer erweitern die XML Path Language um zusätzliche Funktionen; einige dieser Funktionen arbeiten mit den vier Grundtypen; Andere arbeiten mit zusätzlichen Datentypen, die von XSLT und XPointer definiert werden.

Manipulation von XML-Dokumenten

Mit der XML Path Language kann ein XML-Dokument durchsucht werden. Um mit der Suche zu beginnen, muss die Sprache jedoch an einer bestimmten Position innerhalb des XML-Dokuments gestartet werden. XPath verfügt über viele Funktionen zum Bearbeiten von XML-Daten. Dies spart dem Host auch eine Menge zusätzlicher Dinge, die auf Element- und Attributebene besser zu erledigen sind. XML hat viele verschiedene Arten von Daten wie Zahlen, Text, Daten, URLs usw., die häufig verändert werden müssen. In der Version 1.0 unterstützt XPath Sequenzen von Informationsteilen, die zur Verarbeitung an den Host zurückgegeben werden können. Dies kann den Host-Code erheblich vereinfachen.

Die Version 1.0 der XML Path Language wurde von W3C im November 1999 entworfen, eine Überarbeitung erfolgte im Oktober 2016. XPath wird weiter entwickelt und immer leistungsfähiger. Manchmal hat ein Programmierer die Wahl, eine Aufgabe im Host zu lösen oder es mit XPath zu tun. In vielen Fällen ist XML Path Language die bessere Wahl.

Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG