XPointer
aus Wikipedia, der freien Enzyklopädie
XPointer oder XML Pointer Language ist eine Anfragesprache, die es ermöglicht z.B. in URIs (Uniform Resource Identifier) und mit XPath-Ausdrücken auf Teile von XML-Dokumenten zu verweisen.
XPointer wird vom World Wide Web Consortium entwickelt. Nachdem die ursprüngliche XPointer-Definition nur zögerlich implementiert wurde, entschied sich das W3C die Definition in 4 Dokumente aufzuspalten:
Inhaltsverzeichnis |
[Bearbeiten] Grundlagen
Das XPointer-Framework definiert die Grundlagen der XPointer-Sprache. Es enthält nur einfache Verweise, (shorthand notation), die lokalen Links in HTML-Dokumenten ähneln: sie verweisen auf XML-Elemente, die anhand einer DTD- (oder XML Schema)-ID identifiziert werden. Ein Beispiel (das fette ist der eigentliche XPointer):
- der XLink
xlink:href="Brief.xml#Rudolph"
zeigt auf das Element mit der ID "Rudolph" in der Datei "Brief.xml".
Des Weiteren wird im XPointer-Framework die Grundlage für komplexere XPointer in scheme-based notation geschaffen:
[Bearbeiten] das element()-Schema
Das XPointer element() Schema bietet mit dem XPointer -Framework eine Methode für Verweise anhand der Position der Kinder des XML-Elements. Beispiel: xlink:href="Blah.xml#element(/1/2)"
zeigt auf das 2. Unterelement des 1. (Wurzel)elements im XML-Dokument "Blah.xml".
[Bearbeiten] das xpointer()-Schema
Zusammen mit dem XPointer-Framework definiert das XPointer xpointer() Schema (im folgenden als XPointer Schema bezeichnet) komplexe Verweise auf XML-Dokumente und Teile von XML-Dokumenten. Es baut auf XPath-Ausdrücken auf, womit Strukturelemente eines XML-Dokuments adressiert werden können. Darüber hinaus kann XPointer Schema auf Stellen eines XML-Dokuments verweisen, die sich nicht durch XPath ausdrücken lassen:
- Punkte vor oder nach XML-Strukturelementen (
start-point()
,end-point()
, ...) - Bereiche zwischen XML-Strukturelementen (
range()
,range-to()
, ...) - Ausgewählte Bereiche in Freitext (
string-range()
, ...)
Beispiel (das fette ist der eigentliche XPointer):
- der XLink
xlink:href="Bücherregal.xml#xpointer(/MobyDick/Seite[position()=1]/range-to(/MobyDick/Seite[4]))"
liefert das 1. bis 4. Element vom Typ "Seite" innerhalb des Elements "MobyDick" in der Datei "Bücherregal.xml".
[Bearbeiten] Verschiedenes
- Es können beliebig viele XPointer-Ausdrücke in scheme-based notation hintereinander geschrieben werden. Ergebnis des Ausdrucks ist das Ergebnis des ersten Teilausdrucks, der ein Ergebnis liefert. Beispiel:
-
element(/1/4)xpointer(//Buch[4])
.
- Das XPointer xmlns() Schema (deutsche Übersetzung) legt die Verwendung von XML-Namensräumen in XPointer fest.