30.12.2013 Aufrufe

Skript - Praktische Informatik / Datenbanken - Universität Kassel

Skript - Praktische Informatik / Datenbanken - Universität Kassel

Skript - Praktische Informatik / Datenbanken - Universität Kassel

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!