| Inhaltsverzeichnis | 6 |
|---|
| Vorwort | 11 |
|---|
| 1. XML-Technologien | 28 |
|---|
| 1. 1. Modellierung mit DTD | 29 |
| 1. 1. 1. Elemente, Attribute | 29 |
| 1. 1. 2. Komplexe Inhaltsmodelle | 34 |
| 1. 1. 3. Schlüssel- und Schlüsselverweise | 36 |
| 1. 2. Modellierung mit XML Schema | 39 |
| 1. 2. 1. Globale/Lokale Elemente und Attribute | 41 |
| 1. 2. 2. Datentypen | 47 |
| 1. 2. 3. Globale komplexe Typen | 53 |
| 1. 2. 4. Schlüssel und Schlüsselverweise | 56 |
| 1. 3. Abfrage mit XPath | 61 |
| 1. 3. 1. Achsen | 61 |
| 1. 3. 2. Prädikate | 68 |
| 1. 3. 3. Funktionen | 69 |
| 1. 4. Abfrage mit XQuery | 72 |
| 1. 4. 1. Einführung | 73 |
| 1. 4. 2. FLWOR-Ausdrücke | 75 |
| 1. 4. 3. XML-Erstellung | 77 |
| 1. 4. 4. Variablen | 81 |
| 1. 4. 5. Fallunterscheidungen | 81 |
| 1. 5. Transformation mit XSLT | 82 |
| 1. 5. 1. Vorlagen | 83 |
| 1. 5. 2. Kontrollanweisungen | 90 |
| 1. 5. 3. Variablen und Parameter | 92 |
| 1. 5. 4. XSLT im Zusammenhang | 96 |
| 2. Relationale Abfrageergebnisse als XML | 99 |
|---|
| 2. 1. ISO-Standard: SQL/XML-Funktionen | 100 |
| 2. 1. 1. Einfache Abfragen | 103 |
| 2. 1. 2. Weitere Dokumentangaben | 109 |
| 2. 1. 2. 1 Prolog | 109 |
| 2. 1. 2. 2 Prozessoranweisungen | 110 |
| 2. 1. 2. 3 Kommentare | 111 |
| 2. 1. 2. 4 CDATA-Abschnitte | 112 |
| 2. 1. 3. Komplexe Abfragen | 113 |
| 2. 1. 4. SQL/XML-Abfragen verarbeiten | 120 |
| 2. 1. 5. Bewertung der SQL/XML-Funktionen | 125 |
| 2. 2. Oracle 8i: Abfragen mit DBMS_XMLQUERY | 126 |
| 2. 2. 1. Paketstruktur | 127 |
| 2. 2. 1. 1 Unterprogramme | 127 |
| 2. 2. 1. 2 Konstanten | 131 |
| 2. 2. 2. Abfrageverarbeitung | 132 |
| 2. 3. Oracle 9i/10g: Abfragen mit DBMS_XMLGEN | 134 |
| 2. 3. 1. Paketstruktur | 134 |
| 2. 3. 1. 1 Unterprogramme | 134 |
| 2. 3. 2. Abfrageverarbeitung | 136 |
| 2. 3. 3. Komplexe Abfragen | 139 |
| 2. 4. 9i/10g/11g: Oracle-spezifische SQL-Funktionen | 147 |
| 2. 4. 1. Erzeugung von einfachen Elementen | 147 |
| 2. 4. 2. Einsatz von Objekt- und Tabellentypen | 148 |
| 2. 4. 3. Erzeugung von Aggregaten | 153 |
| 2. 4. 4. XML-Dokumentvorgaben | 154 |
| 3. XML Verarbeitung mit PL/SQL | 159 |
|---|
| 3. 1. XML-Parser und das DBMS_XMLPARSER-Paket | 159 |
| 3. 1. 1. Aufbau des Pakets | 160 |
| 3. 1. 2. Beispiel | 162 |
| 3. 2. Verwendung des DOM mit DBMS_XMLDOM | 164 |
| 3. 2. 1. Allgemeiner Aufbau des Pakets | 164 |
| 3. 2. 1. 1 Datentypen im DOM | 165 |
| 3. 2. 1. 2 Konstanten | 167 |
| 3. 2. 1. 3 Ausnahmen | 168 |
| 3. 2. 2. Methoden im Einsatz | 169 |
| 3. 2. 2. 1 Dokument-Methoden | 171 |
| 3. 2. 2. 2 Knoten | 176 |
| 3. 2. 2. 3 Elemente, Attribute und Textknoten | 189 |
| 3. 2. 2. 4 Sonstige Knoten | 198 |
| 3. 2. 2. 5 DTD-Methoden | 206 |
| 3. 2. 2. 6 Entitäten | 208 |
| 3. 2. 2. 7 Text-Methoden | 209 |
| 3. 2. 2. 8 Sonstige Methoden | 209 |
| 3. 2. 3. Beispiele | 211 |
| 3. 2. 3. 1 Verarbeitung | 211 |
| 3. 2. 3. 2 Neu-Erzeugung | 214 |
| 3. 2. 3. 3 Neu-Erstellung aus einem Cursor | 218 |
| 3. 3. Verwendung von XSLT mit DBMS_XSLPROCESSOR | 221 |
| 3. 3. 1. Aufbau des Pakets | 222 |
| 3. 3. 1. 1 Datentypen | 223 |
| 3. 3. 1. 2 Unterprogramme | 223 |
| 3. 3. 2. Beispiel | 227 |
| 3. 3. 2. 1 Einfache Transformation | 227 |
| 3. 3. 2. 2 Einsatz von Parametern | 233 |
| 4. XML in Oracle speichern | 238 |
|---|
| 4. 1. Einführung | 238 |
| 4. 1. 1. Zielsetzung | 239 |
| 4. 1. 2. Struktur der Beispieldaten | 241 |
| 4. 1. 3. Übersicht der Speichermöglichkeiten | 246 |
| 4. 2. Realisierung einer Import-/Export-Schnittstelle | 247 |
| 4. 2. 1. Export | 248 |
| 4. 2. 2. Import | 253 |
| 4. 3. Speicheransätze | 258 |
| 4. 3. 1. Einsatz des Dateisystems | 258 |
| 4. 3. 2. Relationale Speicherung | 259 |
| 4. 3. 3. Objektrelationale Speicherung | 261 |
| 4. 3. 4. Einsatz von XMLType | 263 |
| 4. 3. 4. 1 XML-Speicherung von Kind-Daten | 263 |
| 4. 3. 4. 2 XMLType-Tabelle | 265 |
| 4. 3. 5. De-/Serialisierung von Objekten | 266 |
| 5. XML Schema-basiertes XML | 272 |
|---|
| 5. 1. DBMS_XMLSCHEMA | 272 |
| 5. 1. 1. XML Schema registrieren | 273 |
| 5. 1. 1. 1 Das Unterprogramme | 273 |
| 5. 1. 1. 2 Beispiele | 276 |
| 5. 2. Speicherstrukturen und XML Schema generieren | 278 |
| 5. 2. 1. 1 Unterprogramme | 278 |
| 5. 2. 1. 2 Beispiele | 280 |
| 5. 2. 1. 3 XML Schema-Annotationen | 284 |
| 5. 2. 1. XML Schema entwickeln | 289 |
| 5. 2. 1. 1 Unterprogramm | 290 |
| 5. 2. 1. 2 Beispiele | 291 |
| 5. 2. 2. Katalog-Sichten | 295 |
| 5. 3. Schemabasierte Speicherung | 296 |
| 5. 3. 1. XML Schema und XML-Speicherung | 296 |
| 5. 3. 1. 1 Schemabasierte Tabellen | 297 |
| 5. 3. 1. 2 Komplexe Speichermodelle | 300 |
| 5. 3. 2. Fortgeschrittene Speicheroptionen | 303 |
| 5. 3. 2. 1 Lokale und globale XML Schema-Dokumente | 303 |
| 5. 3. 2. 2 DOM-Fidelity | 304 |
| 5. 3. 2. 3 In-line- und Out-of-line-Speicherung | 305 |
| 5. 3. 2. 4 XPath-Erweiterungen | 306 |
| 5. 3. 2. 5 Zyklen und Referenzen | 307 |
| 5. 4. Einführung Oracle XDB | 308 |
| 5. 4. 1. Grundsätzliches zur XML-Datenbank | 308 |
| 5. 4. 2. Verwaltung mit dem Paket DBMS_XDB | 311 |
| 5. 4. 2. 1 Weitere PL/SQL-Pakete | 313 |
| 5. 4. 2. 2 Ressourcen-Management | 313 |
| 5. 4. 2. 3 Sicherheitsverwaltung | 318 |
| 5. 4. 3. Katalog-Sichten | 324 |
| 5. 4. 4. RESOURCE_VIEW und PATH_VIEW | 327 |
| 5. 4. 4. 1 Verfügbare Sichten | 327 |
| 5. 4. 4. 2 Verfügbare Operatoren | 328 |
| 5. 4. 4. 3 Beispiele | 330 |
| 6. XML-Datentyp XMLType | 335 |
|---|
| 6. 1. Einsatz in Tabellen und Spalten | 336 |
| 6. 1. 1. Allgemeine Unterprogramme | 336 |
| 6. 1. 2. Verwendung bei der Datenerfassung | 339 |
| 6. 1. 3. Verwendung bei Abfragen | 340 |
| 6. 1. 3. 1 Unterprogramme | 341 |
| 6. 1. 3. 2 SQL/XML-Funktionen | 342 |
| 6. 1. 3. 3 Beispiel | 344 |
| 6. 1. 4. Verwendung bei Manipulation | 346 | <