Kapitel 8.15 · Erweiterte Konzepte
Dynamischer Kontext
Analog zum statischen Kontext gibt es auch einen dynamischen Kontext, der aber erst während der dynamischen Ausführung existiert und durch die vorgefundenen Daten beeinflusst wird. Zum dynamischen Kontext gehören zum Beispiel folgende Komponenten:
- Der Fokus
Der so genannte Fokus besteht aus mehreren Komponenten. Dazu gehört der aktuell betrachtete Eintrag ("context item"), das ist der Eintrag der gerade betrachteten Sequenz, der von dem Ausdruck "." geliefert wird. Hinzu kommt die Eintragsposition ("context position"), also das Ergebnis des Funktionsaufrufsfn:position(). Die letzte Komponente ist die Anzahl der Einträge in der gerade betrachteten Sequenz ("context size"), also das Ergebnis des Funktionsaufrufsfn:last() - Die dynamischen Variablen
Bei den dynamischen Variablen handelt es sich um eine Menge von Paaren aus Variablenname und aktuellem Wert. - Datum und Uhrzeit
Dies ist ein von der XQuery-Implementierung gewählter Zeitpunkt, der aber innerhalb der Zeitspanne liegen muss, in der die aktuelle Auswertung geschieht. Auf diese Komponente des dynamischen Kontexts kann man mit den Funktionenfn:current-date(), fn:current-time()undfn:current-dateTime()zugreifen. Mehrfache Aufrufe dieser Funktionen innerhalb einer XQuery-Anfrage liefern jeweils denselben Wert. - Implizite Zeitzone
Dies ist die Zeitzone, die benutzt wird, wenn in einem Vergleich oder einer anderen Operation ein Wert vom Typxs:date , xs:timeoderxs:date Timeauftritt, der keine Zeitzone hat.
Quelle: "XQuery – Grundlagen und fortgeschrittene Methoden", dpunkt-Verlag, Heidelberg (2004)