XPointer (XML Pointer Language)

XPointer (XML Pointer Language) ist eine Abfragesprache zur Erweiterung der Adressierungsmöglichkeiten von XPath. XPointer baut damit auf der XPath-Spezifikation auf und wurde ebenfalls vom World Wide Web Consortium (W3C) entwickelt. Mit Hilfe von XPointer können auf Basis von XPath-Ausdrücken und entsprechend erweiterte URI-Verweise einzelne Elemente in externen Dokumenten demaskiert werden. Dabei bezeichnen Uniform Resource Identifier (URI) Zeichenketten, die zur eindeutigen Identifizierung von Web-Ressourcen verwendet werden. XPointer unterstützt unterschiedliche Formen der Adressierung von Fragmenten in externen Dokumenten. XPointer kann ein zu identifizierendes Element anhand dessen Typs, dessen Namens oder seiner Nummer sowie aus seiner Beziehung zu an-deren Elementen auswählen.

Die Sprache XPointer wird vom W3C durch ein die Terminologie definierendes grundlegendes Framework sowie darauf aufbauend durch zwei Schemata spezifiziert. XPointer sind Referenzen - also Zeiger auf Fragmente innerhalb eines XML-Dokuments. Dieser Mechanismus basiert auf einer Erweiterung von XPath mit entsprechenden URI-Verweisen. So kann die Referenz sich auf gewisse Segmente eines Dokuments beziehen, ohne dass das Dokument insgesamt bekannt ist. Mit XLink gibt es beispielsweise eine Implementierung, die XPointer verwendet.

XPath für den Zugriff auf die XML-Dokumente

Die Funktion von XPath ist der Zugriff auf Knoten innerhalb des Knotenbaumes im Rahmen eines einzelnen XML-Dokumentes. XPointer können jetzt über diesen Rahmen hinaus dazu verwendet werden, und Fragmente eines Dokuments als Ziele eines Links oder für andere Zwecke festlegen. Ein Beispiel ist die Verknüpfung mit XLink, wo sich durch die Verwendung von XPointern nur die benötigten Informationen filtern lassen. Dabei ist die separate Auszeichnung der Fragmente wie beispielsweise in HTML - hier werden spezielle Fragmentbezeichner erwartet - mit XPointer nicht notwendig. Vielmehr werden hier zur Filterung der benötigten Informationen die Fragmentbezeichner durch die zusammengesetzten XPath-Ausdrücke dargestellt. XPointer können für alle Ressourcen der folgenden Medientypen eingesetzt werden:

text/xml, application/xml, xml-external-parsed-entity, application/xml-external-parsed-entity

Bei der Formulierung eines XPointer-Ausdrucks werden der sogenannte Shorthand oder ein Pointer, der auf einem Schema basiert, unterschieden. Der Shorthand Pointer beinhaltet direkt den Namen der zu filternden Information wie beispielsweise:

#xpointer(id(" inhalt"))

So zeigt sich auch, dass ein XPointer immer mit einem Rautezeichen (#) als Trennzeichen an einen Verweis angehängt wird.

Für die auf einem Schema basierenden Pointer wird jeweils die entsprechende Bezeichnung des Schemas vorangestellt - entweder element() oder xmlns(). Durch das Framework unterstützt können aber auch eigene Schemata durch den Entwickler definiert werden. Der Bezeichnung des Schemas folgt immer der in Klammern gesetzte Ausdruck, der auf die zu filternden Informationen verweist. So beispielsweise bei

element(inhalt/3), navigiert vom Element (=inhalt) zu dessen 3. Kindelement

So kann also mit dem Schema element() ein einzelnes Element innerhalb eines XML-Dokuments referenziert werden. Das Schema xmlns() ermöglicht die Zuordnung von Namensräumen zu den Informationseinheiten. Dadurch lassen sich Mehrdeutigkeiten von Referenzen - auch Adressierungen genannt - vermeiden. Dabei referenziert dieser Pointer selbst keine Information. Durch den Pointer wird vielmehr einem folgenden Pointer die Möglichkeit geboten, seine Referenz mit Hilfe des zuvor definierten Namensraumes zu präzisieren wie beispielsweise

xmlns(a=hhtp://imweb.de/inhalt), ordnet zunächst mit dem Präfix "a" einen Namensraum zu

xmlns(a=hhtp://imweb.de/inhalt)#xpointer(/a:ort), dann Nutzung des folgendes Pointers, um ein Element aus dem Namensraum direkt auszuwählen.

XPointer unterstützt mehrere Mechanismen der Adressierung von Teilen eines Dokuments - einfache Namen, sogenannte Kindfolgen, Punkte und Bereiche. Dadurch können gezielt entweder ein Element oder auch ganze Fragmente referenziert werden. Diese adressierten Stellen werden auch als Punkte bezeichnet. Dabei liegen diese Punkte auf einer Ebene unterhalb eines Knotens - damit ist eine feinere Gliederung des referenzierten Dokumentes gegeben. So werden beispielsweise über String-Vergleiche Informationen in Dokumenten oder Web-Sites gefiltert.

Informationen zum Artikel
Deutsch:
Englisch: XML Pointer Language - XPointer
Veröffentlicht: 29.10.2013
Wörter: 619
Tags: Web-Software
Links: Adressierung, Apps, content, Dokument, Erweiterung