Skript - Praktische Informatik / Datenbanken - Universität Kassel
Skript - Praktische Informatik / Datenbanken - Universität Kassel
Skript - Praktische Informatik / Datenbanken - Universität Kassel
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
170<br />
8.4 XML-Datentyp<br />
Einführung in XML<br />
Wie in der Einleitung beschrieben, kann die Abspeicherung von XML-<br />
Werten in einer Tabellenspalte vom Typ XML erfolgen. Die zweite Auflage<br />
der SQL/XML-Norm von 2003 parametrisiert diesen Typ nun, wobei<br />
die Typvariationen eine Hierarchie bilden.<br />
XML(SEQUENCE) ist der allgemeinste Typ. Jeder XML-Wert in<br />
SQL/XML ist entweder der SQL-Nullwert oder eine XQuery-Sequenz<br />
und damit eine Ausprägung dieses Typs. Teile einer solchen Sequenz<br />
könnten Elemente sein, Prozessorinstruktionen, Texte (Literale), numerische<br />
Werte, auch nicht-wohlgeformte Werte, alle durch Kommata<br />
getrennt.<br />
XML(CONTENT(ANY)) ist die zweite Variation unter XML(SEQUEN-<br />
CE). Jeder XML-Wert, der entweder einen Nullwert oder einen XQuery-<br />
Dokumentknoten bildet (einschließlich aller Kinder des Knotens), ist von<br />
diesem Typ. Ausprägungen können auch nicht-wohlgeformte Dokumente<br />
sein, etwa ein Dokument, das mehr als ein Wurzelelement besitzt. Das<br />
kann als Zwischenresultat einer Abfrage entstehen, das später zu einem<br />
wohlgeformten Dokumentknoten zurechtgestutzt wird.<br />
XML(CONTENT(UNTYPED)) ist wiederum eine Untervariation von<br />
XML(CONTENT(ANY)) und bezieht sich auf noch nicht durchgeführte<br />
Schema-Validierungen.<br />
XML(DOCUMENT(ANY)) ist im Gegensatz zu XML(CON-<br />
TENT(ANY)) ein Dokumentknoten mit genau einem Wurzelelement<br />
(und ggf. Prozessorinstruktionen und Kommentaren).<br />
XML(DOCUMENT(UNTYPED) ist eine Ableitung sowohl des Supertyps<br />
XML(DOCUMENT(ANY)) als auch XML(CONTENT(UNTY-<br />
PED)) und teilt deren Eigenschaften.<br />
XML(CONTENT(XMLSCHEMA)) und XML(DOCUMENT(XML-<br />
SCHEMA)) sind Variationen der Typen XML(CONTENT(ANY)) bzw.<br />
XML(DOCUMENT(ANY)). Der enthaltene XML-Wert muß Typanmerkungen<br />
eines XML-Schemas besitzen.