Skript - Praktische Informatik / Datenbanken - Universität Kassel
Skript - Praktische Informatik / Datenbanken - Universität Kassel
Skript - Praktische Informatik / Datenbanken - Universität Kassel
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
168<br />
Einführung in XML<br />
8.2.4 Document Access Definitions in DB2 Extender<br />
In [34] folgt dann ein Abschnitt über das Publizieren von XML-Dokumenten<br />
aus relationalen Tabellen mittels einer sog. Document Access<br />
Definition (DAD) als Teil von IBMs DB2 XML Extender. DADs sind<br />
selbst wieder XML-Dokumente. DADs bestehen aus einem SQL<br />
SELECT, das die Datenanlieferung regelt und einer an XML Schema<br />
erinnernden Strukturangabe, die regelt, welche Werte zu Attributen werden<br />
und welche zu Elementen, sowie Angaben, wie die Elemente zu<br />
schachteln sind.<br />
Die ISO-Norm enthält keine DADs, deswegen übergehen wir diesen<br />
Teil. Klar ist, daß die automatische Erzeugung von XML-Dokumenten<br />
nach einer XML-Schema-Angabe eine sehr attraktive Möglichkeit ist.<br />
8.3 Die Funktionen XMLQuery und XMLCast<br />
Mit der Funktion XMLQuery [31] kann das Ergebnis einer XQuery-<br />
Abfrage an SQL weitergereicht werden. Eine Einsatzmöglichkeit ist die<br />
Suche mit Werten aus den Tabellen nach XML-Werten in einem XML-<br />
Dokument, zum Beispiel für einen Join oder um daraus wieder ein XML-<br />
Dokument zu erzeugen. Die allgemeine Syntax lautet:<br />
XMLQUERY ( xquery-expression<br />
[ PASSING { BY REF | BY VALUE } argument-list ]<br />
RETURNING { CONTENT | SEQUENCE } [ BY REF | BY VALUE ]<br />
{ NULL ON EMPTY | EMPTY ON EMPTY } )<br />
Die xquery-expression ist der eigentliche XQuery-Ausdruck, der als<br />
Literal angegeben werden muß (also mit einfachen Anführungszeichen).<br />
Die PASSING-Klausel enthält eine durch Kommas getrennte Liste von<br />
Argumenten. Jeder Eintrag der Liste hat die Syntax<br />
value-expression [ AS identifier ] [ BY REF | BY VALUE ]<br />
und bindet den Wert eines SQL-Ausdrucks an eine globale XQuery-<br />
Variable in dem XQuery-Ausdruck. Eines der Argumente darf ohne den<br />
Zusatz AS identifier stehen und definiert den Kontextknoten für die<br />
XQuery-Abfrage. Für die gesamte Liste oder für jedes einzelne Argument