Sequenzen
Sequenzen sind die zentrale Datenstruktur in XQuery. In diesem Abschnitt wird zunächst die Struktur von Sequenzen eingeführt. Anschließend werden Funktionen und Operatoren darauf vorgestellt.
Struktur einer Sequenz
Eine Sequenz besteht aus keinem, einem oder mehreren Einträgen ("items"). Ein solcher Eintrag ist entweder ein atomarer Wert oder ein Knoten, wobei nicht gefordert ist, dass eine Sequenz aus homogenen Einträgen besteht. Eine Sequenz kann dadurch konstruiert werden, dass die einzelnen Einträge – durch Komma getrennt – aneinander gereiht werden. Eine Klammerung verdeutlicht die Sequenzbildung, ist aber in vielen Fällen nicht erforderlich. Die leere Sequenz kann jedoch nur durch () dargestellt werden. Eine leere Sequenz ist von "Nichts" zu unterscheiden. Besonders bei einem Funktionsaufruf ist es ein Unterschied, ob der Aufruf ohne Argument oder mit einer leeren Sequenz als Argument erfolgt.
Eine Sequenz aus einem Eintrag ist von diesem Eintrag nicht unterscheidbar. Anders formuliert: Auch ein einzelner Wert ist im Sinne von XQuery eine Sequenz. Konsequenterweise können Sequenzen nicht ineinander verschachtelt sein. Somit sind folgende Sequenzen identisch:
- (1, 2, 1) und (1, (2, 1))
liefert eine Sequenz aus drei Zahlen - (1, (),<B/>) und (1, <B/>)
liefert eine Sequenz aus Zahl und Knoten - (<A/>) und <A/>
liefert eine Sequenz mit nur einem Eintrag - () und ((),())
liefert die leere Sequenz
Eine Sequenz ist geordnet und hat keine Mengeneigenschaften, kann also Duplikate (mehrfach vorkommende Werte oder Knoten) enthalten.
Quelle: "XQuery – Grundlagen und fortgeschrittene Methoden", dpunkt-Verlag, Heidelberg (2004)
<< zurück | vor >> |