Remove ads
Anfragesprache, um Teile eines XML-Dokumentes zu adressieren Aus Wikipedia, der freien Enzyklopädie
XPointer oder XML Pointer Language ist eine vom World Wide Web Consortium (W3C) entwickelte Anfragesprache, um Teile eines XML-Dokumentes zu adressieren. Es handelt sich dabei um eine Erweiterung der XPath-Spezifikation, mit der sich ebenfalls Teile eines XML-Dokumentes adressieren lassen.
XPointer ermöglicht es insbesondere, in einer URI auf Teile eines XML-Dokumentes zu verweisen. Nachdem die ursprüngliche XPointer-Definition nur zögerlich implementiert wurde, entschied sich das W3C, die Definition in mehrere Dokumente aufzuspalten.
Einfache Verweise ähneln lokalen Links in HTML-Dokumenten. Sie verweisen auf XML-Elemente, die anhand einer ID identifiziert werden. Als Beispiel soll ein XLink dienen. Das „Rudolph“ ist der eigentliche XPointer. Der Link zeigt auf das Element mit der ID „Rudolph“ in der Datei „Brief.xml“:
xlink:href="Brief.xml#Rudolph"
Einfache Verweise gehören zur shorthand notation von XPointer und werden in XPointer-Framework[1] spezifiziert. Dort werden auch die Grundlagen für komplexere XPointer in scheme-based notation geschaffen.
Mit dem element()-Schema lassen sich Verweise auf bestimmte Kinder in der Baumstruktur eines XML-Dokumentes erstellen. Der XLink des folgenden Beispiels zeigt auf das 2. Unterelement des 1. (Wurzel)elements im XML-Dokument „index.xml“:
xlink:href="index.xml#element(/1/2)"
Beliebig komplexe Verweise auf Teile von XML-Dokumenten lassen sich mit dem xpointer()-Schema erstellen. Hierbei kann zur Adressierung der gewünschten Teile des Dokumentes ein XPath-Ausdruck verwendet werden. Darüber hinaus gibt es noch weitere Möglichkeiten, die in XPath nicht vorgesehen sind:
start-point()
, end-point()
, …)range()
, range-to()
, …)string-range()
, …)Das folgende Beispiel liefert das 1. bis 4. Element vom Typ „Seite“ innerhalb des Elements „MobyDick“ in der Datei „Bücherregal.xml“:
xlink:href="Bücherregal.xml#xpointer(/MobyDick/Seite[position()=1]/range-to(/MobyDick/Seite[4]))"
Der Text ab der Raute (#) ist wieder der eigentliche XPointer. In der scheme-based notation können beliebig viele XPointer-Ausdrücke hintereinander geschrieben werden. Ergebnis des Ausdrucks ist das Ergebnis des ersten Teilausdrucks, der ein Ergebnis liefert. Beispiel:
element(/1/4)xpointer(//Buch[4])
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.