Das XQuery-Datenmodell
Um die Semantik von XQuery genau spezifizieren zu können, wurde das XQuery-Datenmodell eingeführt, das im Folgenden beschrieben wird. Ein eigenes Datenmodell ist erforderlich, weil XQuery nicht nur mit einzelnen XML-Fragmenten, sondern mit einer größeren Vielfalt von Objekten umgehen muss, zum Beispiel mit Mengen von XML-Dokumenten, mit einzelnen numerischen Werten oder sogar mit einer Mischung daraus.
Bevor ein XML-Dokument von XQuery verarbeitet werden kann, wird es in eine Instanz des Datenmodells umgewandelt. Dabei fließt vorhandene Information ein, die aus der Validierung des Dokumentes gegen eine ggf. vorhandene DTD oder ein XML Schema gewonnen wird. XQuery ist bezüglich des Datenmodells abgeschlossen: Jeder XQuery-Ausdruck operiert auf einer Instanz des XQuery-Datenmodells und liefert eine Instanz des XQuery-Datenmodells.
Das grundlegende Konstrukt des Datenmodells von XQuery ist die Sequenz. Alle XQuery-Ausdrücke operieren auf einer oder mehreren Sequenzen und liefern wieder eine Sequenz. Im ersten Abschnitt dieses Kapitels werden daher Sequenzen zusammen mit den auf ihnen definierten Funktionen eingeführt. Sequenzen können aus atomaren Werten und Knoten bestehen, die in den folgenden Abschnitten erläutert werden.
Eine wichtige Anforderung an XQuery ist, mit allen Arten von XML-Dokumenten umgehen zu können, unabhängig davon, ob sie nun gar keine Typinformation, wenig Typinformation (DTD) oder eine sehr genaue Typbeschreibung haben (zum Beispiel durch XML Schema). Dieses breite Spektrum ist sicher einer der Gründe, warum das Typsystem von XQuery recht komplex und umfangreich geraten ist. Besonders die Vielfalt von typbezogenen Operationen überrascht zunächst. Am Schluss des Kapitels werden die Typnotation von XQuery und die typbezogenen Operationen vorgestellt.
Quelle: "XQuery – Grundlagen und fortgeschrittene Methoden", dpunkt-Verlag, Heidelberg (2004)
<< zurück | vor >> |