Knoteneigenschaften
Wie bereits beschrieben, wird ein XML-Dokument im XQuery-Datenmodell als Baum aus Knoten abgebildet. Jeder Knoten hat dabei seine eigene Identität (nicht zu verwechseln mit einem…
Funktionen auf Knoten
Auf den Namen eines Knotens kann man mit den XQuery-Funktionen fn:node-name() und fn:name() zugreifen. Wenn der Knoten keinen Namen hat (Dokument-, Kommentar- oder Textknoten),…
Überblick über Knotenfunktionen
Die folgende Tabelle gibt einen Überblick über die genannten Knotenfunktionen. Einige der Knotenfunktionen können ohne Argument aufgerufen werden. Dann bezieht sich…
Sequenztypen und Knotenzugriffsfunktionen
Es gibt einige Konstrukte in XQuery, bei denen es notwendig ist, den jeweils erwarteten Typ anzugeben. Beispielsweise müssen bei einer Funktionsdefinition…
Knotentypen
Ein beliebiger Knoten wird durch node() repräsentiert. Darüber hinaus gibt es die Möglichkeit, einen bestimmten Knotentyp zu fordern, wie zum Beispiel einen Textknoten oder einen…
Knotenzugriffsfunktionen
Ein Teil der Sequenztypsyntax kann auch in Pfadausdrücken verwendet werden, um aus der Sequenz der Knoten, die durch einen Pfadausdruck adressiert werden, einige Knoten…
Typausdrücke
XQuery führt einige Ausdrücke zum Umgang mit Typen ein, die man so aus anderen Sprachen nicht kennt. Die Typumwandlung für atomare Typen (cast as) ist bereits behandelt worden. Diese…
Typzuweisung
Dokumentknoten und Elementknoten können mit der validate-Anweisung explizit gegen Schemadefinitionen validiert werden.
ValidateExpr ::= validate SchemaMode? SchemaContext? { Expr }…
Typabfrage
Zur Abfrage des Typs eines Sequenzwertes stellt XQuery die beiden Ausdrücke instance of und typeswitch zur Verfügung. Der Auszug aus der Grammatik lautet dabei folgendermaßen:
…
Gleichheit von Sequenzen
Auf Sequenzen ist keine Ordnungsrelation definiert. Es ist aber möglich, zwei Sequenzen auf Gleichheit zu prüfen. Hierzu steht die Funktion fn:deep-equal() zur Verfügung. Da…