XPointers

(Auszug aus "XML in a Nutshell" von Elliotte Rusty Harold & W. Scott Means)

Aus verschiedenen architektonischen Gründen dürfen die URLs, die in den href-Attributen von XIncludes stehen, keine Fragment-Identifier haben. Es ist in der Tat ein fataler Fehler, wenn das der Fall ist. Dann legt der XInclude-Prozessor einfach die Hände in den Schoß und stellt die Arbeit ein. Stattdessen kann jedes xi:include-Element ein xpointer-Attribut haben. Dieses Attribut enthält einen XPointer, der anzeigt, welcher Teil des Dokuments, das vom href-Attribut referenziert wird, eingeschlossen werden soll. Beispielsweise lädt dieses xi:include-Element die Schlagzeilen des Tages von Cafe con Leche (die von einem today-Element im Namensraum "http://www.w3.org/1999/xhtml" eingeschlossen werden), aber nicht den Rest der Seite:

<xi:include href="http://www.cafeconleche.org/" xpointer="xmlns(pre=http://www.w3.org/1999/xhtml) xpointer(//pre:today)"/>

Sie könnten auch das element( )-Schema verwenden:

<xi:include href="http://www.cafeconleche.org/" xpointer="element(/1/2/4/1/1/4)"/>

Wenn das href-Attribut fehlt, referenziert der XPointer das aktuelle Dokument.

XInclude-Prozessoren müssen nicht alle XPointer-Schemas unterstützen. Insbesondere wird von ihnen nicht verlangt, dass sie die xpointer( )- oder xmlns( )-Schemas unterstützen, obwohl einige Prozessoren, wie libxml2 beispielsweise, diese Unterstützung bieten. Alle Prozessoren müssen das element( )-Schema und Klartext-XPointers unterstützen. In der Praxis ist es jedoch so, dass einige Implementierungen, insbesondere solche, die auf Streaming-APIs wie SAX basieren, überhaupt keine Unterstützung für XPointer bieten.

Ein Syntax-Fehler im XPointer ist ein Ressourcen-Fehler, der bewirkt, dass das xi:fallback-Kindelement verarbeitet wird, wenn eines vorhanden ist. Das ist nicht notwendigerweise ein fataler Fehler.

Da XPointers nur auf XML-Dokumente anwendbar sind, können sie nur verwendet werden, wenn parse="xml" angegeben ist. Es ist ein fataler Fehler, wenn ein xi:include-Element zugleich ein xpointer- und ein parse="text"-Attribut hat.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

  


Copyright © 2005 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML in a Nutshell" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de