db2 version 10 for z/os - theorie und praxis · 2014. 4. 21. · 6.1.6 Überblick der...

23
© Copyright DGD GmbH Germany 65201 Wiesbaden © Copyright DGD GmbH Germany 65201 Wiesbaden I DB2- Theorie und Praxis : Inhaltsverzeichnis Inhaltsverzeichnis DB2 und XML - Theorie und Praxis - Band 3 XML-Themen 1 Grafischer Wegweiser durch den Band 3 1 1 XML - Extensible Markup Language 2 Grafische Wegbeschreibung durch das Kapitel 1: XML - Extensible Markup Language: Einführung 2 1.1 XML-Einführung 3 1.1.1 Die Rolle von Metadaten und Daten 3 1.1.2 Am Anfang stand das Zeichen und das Wort kam erst später 4 Codier-Schema und Code-Position (Code-Point) 4 1.1.3 Trennung von Metadaten und Daten unter XML durch Marken ('Tags') 5 1.1.4 (Un)Verbindliche theoretische Grundlagen und Quellen von XML 6 Die Empfehlungen des Worldwide Web Consortiums (W3C) 6 XML-Versionen 1.0 und 1.1 6 1.1.5 XML-Basis-Terminologie 7 Was heißt und bedeutet 'XML' 7 XML-Dokument (XML-Dokument-Instanz) 8 XML-Metadaten-Überblick 9 DTD (Document-Type-Definition) 9 XML-Schema in Abgrenzung zu sonstigen Schemata 9 Behandlung spezieller Steuerungszeichen im Text 10 Leerraum oder Whitespace 10 Reservierte Zeichenketten für Sonderzeichen, wie '>', '<' usw. 10 Zeichen-Referenz: Numerische Code-Vorgabe eines Zeichens mit # 10 1.1.6 Kurze historische Entwicklungsgeschichte von XML 11 1.1.7 Zielsetzung und Aufgabenstellung von XML 13 1.1.8 XML-Familie 14 Modell- und Schema-Komponenten 14 XML-Parser und XML-Prozessor 15 Auf XML basierende Weiterentwicklungen 15 1.1.9 Der Aufbau eines XML-Dokuments 16 Daten-orientiertes XML-Dokument 18 Dokument-orientiertes XML-Dokument 19 1.1.10 Das hierarchische Konzept von XML 20 1.2 XML-Metadaten-Überblick 21 1.2.1 Ein XML-Dokument muss korrekt sein 21 Mindest-Anforderung: wohlgeformt (well-formed) und well-balanced 21 XML ist case-sensitiv, SQL aber nicht! 22 Erweiterte Anforderung: gültig (validate) 23 Gültiges XML-Dokument mit DTD-Definition 23 Gültiges XML-Dokument mit XML-Schema-Definition 24 1.2.2 Metadaten-Kategorien 25 1.2.3 Information-Set eines XML-Dokuments 26 1.2.4 Element und Attribut 28 Element 28 Attribut 29

Upload: others

Post on 22-Jan-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

I DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

I DB2- Theorie und Praxis : Inhaltsverzeichnis

InhaltsverzeichnisDB2 und XML - Theorie und Praxis - Band 3 XML-Themen 1

Grafischer Wegweiser durch den Band 3 1

1 XML - Extensible Markup Language 2Grafische Wegbeschreibung durch das Kapitel 1: XML - Extensible Markup Language: Einführung 21.1 XML-Einführung 3

1.1.1 Die Rolle von Metadaten und Daten 31.1.2 Am Anfang stand das Zeichen und das Wort kam erst später 4

Codier-Schema und Code-Position (Code-Point) 41.1.3 Trennung von Metadaten und Daten unter XML durch Marken ('Tags') 51.1.4 (Un)Verbindliche theoretische Grundlagen und Quellen von XML 6

Die Empfehlungen des Worldwide Web Consortiums (W3C) 6XML-Versionen 1.0 und 1.1 6

1.1.5 XML-Basis-Terminologie 7Was heißt und bedeutet 'XML' 7XML-Dokument (XML-Dokument-Instanz) 8XML-Metadaten-Überblick 9

DTD (Document-Type-Definition) 9XML-Schema in Abgrenzung zu sonstigen Schemata 9

Behandlung spezieller Steuerungszeichen im Text 10Leerraum oder Whitespace 10Reservierte Zeichenketten für Sonderzeichen, wie '>', '<' usw. 10Zeichen-Referenz: Numerische Code-Vorgabe eines Zeichens mit # 10

1.1.6 Kurze historische Entwicklungsgeschichte von XML 111.1.7 Zielsetzung und Aufgabenstellung von XML 131.1.8 XML-Familie 14

Modell- und Schema-Komponenten 14XML-Parser und XML-Prozessor 15Auf XML basierende Weiterentwicklungen 15

1.1.9 Der Aufbau eines XML-Dokuments 16Daten-orientiertes XML-Dokument 18Dokument-orientiertes XML-Dokument 19

1.1.10 Das hierarchische Konzept von XML 201.2 XML-Metadaten-Überblick 21

1.2.1 Ein XML-Dokument muss korrekt sein 21Mindest-Anforderung: wohlgeformt (well-formed) und well-balanced 21

XML ist case-sensitiv, SQL aber nicht! 22Erweiterte Anforderung: gültig (validate) 23

Gültiges XML-Dokument mit DTD-Definition 23Gültiges XML-Dokument mit XML-Schema-Definition 24

1.2.2 Metadaten-Kategorien 251.2.3 Information-Set eines XML-Dokuments 261.2.4 Element und Attribut 28

Element 28Attribut 29

Inhaltsverzeichnis

Page 2: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

II DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

II DB2- Theorie und Praxis : Inhaltsverzeichnis

Normalisierung der Element- bzw. Attribut-Werte 29Nutzungsbedingungen: Element versus Attribut 30

1.3 Vergleich Relationen-Modell (RM) - XML-Modell 311.3.1 Wesentliche Aspekte des Relationen-Modells 31

Wesentliche Zielsetzungen 31Leistungen des Relationen-Modells 32Schwächen des Relationen-Modells 32Erweiterungen des Relationen-Modells 33Standards im Bereich des Relationen-Modells 33Behandlung der Metadaten 34

1.3.2 Sind die Ziele des Relationen-Modells mit XML vergleichbar? 34Eine völlig unterschiedliche Herangehensweise 35Unterschiedliche Eignungen 36

2 XML-Meta-Sprache: DTD und XML-Schema 37Grafische Wegbeschreibung durch das Kapitel 2: XML-Meta-Sprache: DTD und XML-Schema: DTD und XML-Schema 372.1 Übersicht der verfügbaren Meta-Sprach-Typen 382.2 DTD - Dokument-Typ-Definition 39

2.2.1 Einfaches Beispiel für Elemente und Attribute 392.2.2 DTD-Schlüsselworte 40

XML-Deklaration und DOCTYPE (<!DOCTYPE..>) 40ELEMENT-Typ (<!ELEMENT..>) 41

Beispiel-DTD mit Element-Typen 42Attribut-Typ (<!ATTLIST..>) 43

Beispiel-DTD mit Element- und Attribut-Typen 44

2.3 XML-Schema 452.3.1 Daten-Typen des XML-Schemas 45

Grafische Übersicht der Daten-Typen des XML-Schemas 462.3.2 Einschränkende Fassetten der Daten-Typen des XML-Schemas 472.3.3 Struktur-Typen des XML-Schemas 48

Schema-Komponenten 48Grober Überblick 48Komponenten-Typen, Typ-Deklarationen und -Definition 49

Typ-Definitionen 50Globale und lokale Komponente 51

Globaler und lokaler Typ 51Globale und lokale Elemente 52Globale und lokale Attribute 52

Beziehungs-Diagramm der XML-Schema-Komponenten 53

2.3.4 Design-Methoden des XML-Schemas 54Grundsätzliche Überlegungen 54Matroschka-Design: Individuelles Schema mit lokalen Elementen 55Salami-Design: Globales Schema mit ausschließlich globalen Elementen 56Jalousie-Design: Globales Schema mit Typen 58Umsetzung methodischer Prinzipien mit dem XML-Schema 59

Generalisierung, Aggregation/Komposition und Spezialisierung 59Kapselung (Encapsulation) 62Vererbung (Inheritance) 63

Page 3: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

III DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

III DB2- Theorie und Praxis : Inhaltsverzeichnis

Mehr-Funktionalität (Polymorphismus) 65

2.3.5 Namensraum/Namespace-Konzept 66Der Zwang zu eindeutigen Namen 66

Konzepte für Namenskonventionen mit eindeutigen Namen 67Der eindeutige Namensraum-Name ist ein URI 68Definition eines Namensraums mit dem Spezial-Attribut 'xmlns' 69

XML-Namensraum-Typen 70Expliziter und impliziter Namensraum 71Default-Namensraum 71Ziel-Namensraum 71Kein Namensraum 71Abstrakter Namensraum (symbol space) für XML-Schema-Instanzen 71

Varianten der-Namensraum-Nutzung 72Impliziter Namensraum mit Ziel-Namensraum 72Expliziter Namensraum mit Ziel-Namensraum 73Zusammenwirken mehrerer Namensräume: Heterogenes Design 74Schema-Bausteine mit gemeinsamem Namensraum (Chameleon-Effekt) 76

2.4 Umsetzung der DTD-Komponenten in das XML-Schema 772.4.1 Da war eine Familie mit zwei Kindern.... Ein Umsetzungs-Beispiel 78

Beispiel nur mit Elementen, ohne Attribute 78XML-Vorgabe 78XML-Hierarchiebaum und DTD-Deklarationen 79XML-Schema 81

Beispiel mit Elementen und Attribute 82XML-Vorgabe und DTD-Deklarationen 82XML-Schema 83

2.4.2 Objekt-Modellierung als Vergleich zum XML-Modell 84

3 XDM - XQuery/ XPath-Daten-Modell 853.1 Grafische Wegbeschreibung durch das Kapitel 3: XDM - XQuery/ XPath-Daten-Modell 853.2 XDM-Daten-Modell 86

3.2.1 Aufgabenstellung 863.2.2 Theoretische Grundlagen 863.2.3 Terminologie 873.2.4 Dokument-Struktur und Knoten 883.2.5 Knoten-Typen 883.2.6 Unterstützte Typen 883.2.7 DM-Zugriffs-Methoden (dm:Accessors) 89

4 XPath-Sprache 90Grafische Wegbeschreibung durch das Kapitel 4: XPath-Sprache: XPath-Überblick 904.1 XPath-Überblick 91

4.1.1 Aufgabenstellung von XPath 914.1.2 Theoretische Grundlagen 914.1.3 Terminologie 92

Serialisierung, Sequenz und Atomisierung 93Serialisierung 94Sequenz 94

Page 4: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

IV DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

IV DB2- Theorie und Praxis : Inhaltsverzeichnis

Atomisierung 95

4.1.4 Basis für XPath ist eine XML-Daten-Modell-Instanz 96Generierung eines XML-Daten-Modells und Serialisierung 96Beispielhafte XML-Dokument-Instanz 97Beispielhaftes XML-Daten-Modell 99Beispielhafte XML-Daten-Modell-Instanz 101

4.2 XPath-Navigation im Baum 1024.2.1 Hierarchie-Regeln und -Funktionen des XML-Daten-Modells 102

Test des Knoten-Typs (Kind-Test des Node-Types) 102Kontext-Knoten (Context Node) 102Achsen-Funktionalitäten: Vorwärts- und Rückwärts-Bewegungen 103

Beispiele der Achsen-Funktionalitäten 106

4.3 XPath-Ausdruck (XPath-Expression) 1074.3.1 Theoretische Grundlagen 1074.3.2 Komponenten des XPath-Ausdrucks (XPath-Expression) 1084.3.3 Ausdrucks-Typen (Expressions) 109

Hinweise zu den Test-Beispielen 109SQL- und XQuery-Statement-Muster für XPath- und XQuery-Funktionalitäten 109XPath-Test-Beispiele 110

Klammern: Für alle, die mit dem Klammerbeutel gepudert wurden 112Primär-Ausdruck: primary-expression 113Pfad-Ausdruck: path-expression 114Sequenz-Ausdruck: sequence-expression 116Arithmetischer Ausdruck: arithmetic-expression 117Vergleichs-Ausdruck: comparison-expression 118Logischer Ausdruck: logical-expression 119Iterativer Selektions-Ausdruck: for-expression 119Bedingungs-Ausdruck: conditional-expression 120Quantifizierter Ausdruck: quantified-expression 121Sequenz-Typ-Ausdruck: sequence-type-expression 122

4.4 XPath-Funktionen 1234.4.1 Namensraum-Kürzel für XPath-Funktionen 1234.4.2 Überblick der XPath-Funktionen 1244.4.3 Funktions-Gruppen und ihre Funktionen 126

Hinweise zu den Test-Beispielen 126DM-Zugriffs-Funktionen (Accessors) 127Fehler- und Trace-Funktionen 127Konstruktor-Funktionen 128Numerische Funktionen 129

Arithmetische Operatoren 129Vergleichs-Operatoren für numerische Daten 129Arithmetische Funktionen 130

Funktionen für String-Werte 131String-Funktionen für das Zusammenführen oder Zergliedern 131Vergleichs-Operatoren für String-Daten 131String-Funktionen 132Substring-Matching-Funktionen 134

Page 5: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

V DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

V DB2- Theorie und Praxis : Inhaltsverzeichnis

Pattern-Funktionen 135Funktionen für anyURI 136Funktionen und Operatoren für Boolean-Werte 137

Boolean-Konstruktor-Funktionen 137Operatoren für Boolean-Werte 137Funktionen für Boolean-Werte 137

Funktionen und Operatoren für Datum, Zeit- und Zeitdauer (Duration) 138Duration-, Date- und Time-Typen 138

Behandlung und Bereitstellung der Duration-, Date- und Time-Werte 138Zusätzliche Sub-Typen von xs:duration: xs:yearMonthDuration,xs:dayTimeDuration 139

Vergleichs-Operatoren für datums- bzw. zeitbezogene Werte 140Funktionen für die Extrahierung einzelner Komponenten 141Arithmetische Operatoren für datums- bzw. zeitbezogene Werte 142Funktionen für die Ausrichtung an Zeitzonen 143

Funktionen für QNAMEn 144Konstruktor-Funktionen für QNamen 144Funktionen und Operatoren für QNamen 144

Operatoren für Binary-Werte 146Operatoren für NOTATIONs-Werte 146Funktionen und Operatoren für Knoten (Nodes) 147Funktionen und Operatoren für Sequenzen (Sequences) 148

Generelle Funktionen und Operatoren 148Funktionen zum Test der Kardinalitäten (Auftretenshäufigkeit von Einheiten) 148Set-Funktionen und Operatoren: Equals, Union, Except und Intersect 149Aggregations-Funktionen 150Funktionen und Operatoren zur Generierung von Sequenzen 151

Kontext-Funktionen 1524.4.4 XPath-Beispiele 153

Erläuterung der Testumgebung 153Tests mit DB2 153

5 XQuery 155Grafische Wegbeschreibung durch das Kapitel 5: XQuery: Überblick 1555.1 XQuery-Überblick 156

5.1.1 Aufgabenstellung von XQuery 1565.1.2 Theoretische Grundlagen 1575.1.3 XQuery-Struktur-Komponenten 158

Modul-Typen: 159Bibliotheks-Modul (Library-Module) 159Haupt-Modul (Main-Module) 159

Deklarationen, Definitionen und Ausführungs-Optionen 160Kommentar und Kommentar-Konstruktor 160Versions-Deklaration 160Modul-Deklaration 160Prolog 161Haupt-Teil (Query-Body) 161

Beispiel einer XQuery-Anforderung 162XQuery direkt und Einbindung in SQL-XMLQUERY 163

5.1.4 XQuery für lesende und manipulierende Anforderungen 163

Page 6: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

VI DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

VI DB2- Theorie und Praxis : Inhaltsverzeichnis

5.2 XQuery-Module und Prolog 1645.2.1 Bibliotheks- und Haupt-Modul (Library- und Main-Module) 164

5.3 Einfacher XQuery-Ausdruck (XQuery-Simple-Expression) 1655.3.1 Theoretische Grundlagen 1655.3.2 Komponenten des XQuery-Ausdrucks (XQuery-Expression) 1665.3.3 XQuery: Erweiterte Ausdrucks-Typen (Expressions) 167

Konstruktoren: constructors 167FLWOR-Ausdruck: FLWOR-expression 168Ordnungsfolge-Ausdruck: ordered- und unordered-expression 169Typeswitch-Ausdruck: typeswitch-expression 169Prüf-Ausdruck: validate-expression 169Erweiterter Ausdruck: extension-expression 169

5.4 XQuery-Funktionen 1705.4.1 Unterstützung von Funktionen unter XQuery 170

5.5 XQuery-Manipulationen (XQuery Update Facility) 1715.5.1 Aufgabenstellung des XQuery Update Facilitíes 1715.5.2 Manipulations-Komponenten 1725.5.3 Manipulations-Konzept 1735.5.4 Manipulations-Beispiele 174

6 DB2-XML-Unterstützung 175Grafische Wegbeschreibung durch das Kapitel 6: DB2-XML-Unterstützung: Überblick 1756.1 Übersicht der DB2-XML-Komponenten 176

6.1.1 XML-Behandlung vor und ab Version 9 1776.1.2 Komponenten von SQL für die XML-Daten-Verarbeitung 1786.1.3 XPath- und XQuery-Unterstützung im DB2 179

XPath- und XQuery-Unterstützung im DB2 für z/OS 179XPath- und XQuery- Daten-Typen 180

XPath- und XQuery-Unterstützung im DB2 1816.1.4 Vergleich der Sprach-Typen SQL und XQuery 181

Charakteristiken von XQuery (DB2 für LUW) 182Mix der Sprachen SQL und XQuery 183

Beispielhafte Nutzung von XPath- und XQuery-Funktionen im Rahmen von z/OS-SQL-XML-Funktionen 183Beispielhafte Umsetzung einer Aufgabenstellung mittels unterschiedlicher Sprach-Varianten 184

6.1.5 XML-Komponenten von DB2 185Übersicht der relevanten Komponenten zur Transformation der Werte 185Übersicht der SQL-XML-Expressions, - Prädikate und -Funktionen 186

6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 1886.2 Definition der DB2-XML-Datenstrukturen 189

6.2.1 Definition der XML-Datenstrukturen unter DB2 für z/OS 189Struktur-Überblick 189

Struktur von Objekten mit dem Zustand vor DB2-Version 10 190Mehrfach-Versions-Struktur von Objekten mit dem Zustand ab DB2-Version 10 (Multiple Versions bzw. "XML versioning format") 191Unterstützung von Temporal Tables, Historisierung und Multi-Versionierung 192

Builtin-Daten-Typ XML 193Base-Table mit Definition von Spalten mit dem Daten-Typ XML 194

Page 7: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

VII DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

VII DB2- Theorie und Praxis : Inhaltsverzeichnis

XML-Spalte der Base-Table 195DocumentID-Index der Base-Table 196

XML-Table 197NodeID-Index der XML-Table 198

XML-Tablespace 199Explizit definierte XML-Indizes 200

Performance-Effekte von XML-Indizes (z/OS) 202Verwaltung eines XML-Schema-Repositories (XSR) 205

Definition eines XML-Schemas 205Definition einer Document-Type-Definition (DTD) 206XML-Type-Modifier 207

6.2.2 Definition der XML-Datenstrukturen unter DB2 für LUW 209Builtin-Daten-Typ XML 210Base-Table mit Definition von Spalten mit dem Daten-Typ XML 211

XML-Spalte der Base-Table 212Automatisch generierte Indizes der Base-Table 213

Explizit definierte XML-Indizes 215Beispiele der generierten DDL-Definitionen durch Data Studio 216

Performance-Effekte von XML-Indizes (LUW) 217Verwaltung eines XML-Schema-Repositories (XSR) 219

Definition eines XML-Schemas (LUW) 219Definition einer Document-Type-Definition (DTD) und externer Entities 220Beispiel einer XML-Schema-Registrierung 221

Register with XSR 221Auszug der XSR-Katalog-Tabelle SYSXSROBJECTS 224Einfügung eines gültigen XML-Dokuments mit INSERT, das gegen ein XML-Schema geprüft werden soll 225Anzeige des Status eines gültigen XML-Dokuments, das gegen ein XML-Schema geprüft wurde 225Einfüge-Versuch eines XML-Dokuments mit einem Element-Namen, der gegen ein XML-Schema verstößt 225

Check Constraint zur Sicherstellung der XML-Schema-Gültigkeit 226Allgemeines CHECK-Constraint ohne konkrete Spezifikation eines XML-Schemas 226Spezifisches CHECK-Constraint mit konkreter Spezifikation eines XML-Schemas mittels VALIDATED-Prädikat 227

6.3 Einstellen, Änderung und Löschung von XML-Daten 2296.3.1 Verfahren zum Einstellen von XML-Daten mit DB2 für z/OS 230

Einfügen, Änderung und Löschung von XML-Daten mit SQL-Statements 231Manipulation kompletter XML-Dokumente 231Manipulation von Knoten innerhalb eines XML-Dokuments 233

Test-Beispiele für die Manipulation von Knoten innerhalb eines XML-Dokuments 234Delete - Löschen von Knoten 234Replace - Austausch von Knoten 235Insert - Einfügen von Knoten 237

Manipulation von XML-Daten mit XML-Schema-Prüfung 238

6.3.2 Verfahren zum Einstellen von XML-Daten mit DB2 für LUW 240Einfügen, Änderung und Löschung von XML-Daten mit SQL-Statements 241Einfügen, Änderung und Löschung von XML-Daten mit XQuery 241Manipulation von XML-Daten mit XML-Schema-Prüfung 242

INSERT von Daten mit Prüfung auf Gültigkeit 242XQuery-Manipulations-Versuch von XML-Teil-Dokument-Daten mit Prüfung auf Gültigkeit 243XQuery-Manipulation von XML-Teil-Dokument-Daten mit Prüfung auf Gültigkeit 244Status-Kontrolle der XML-Daten hinsichtlich der Gültigkeit 245Einrichten von Check-Constraints zur Gewährleistung der XML-Schema-Gültigkeit 246

Page 8: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

VIII DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

VIII DB2- Theorie und Praxis : Inhaltsverzeichnis

6.4 Zugriff auf die XML-Daten und Bereitstellung 2476.4.1 Verfahren zur Bereitstellung und Analyse von XML-Daten mit DB2 für z/OS 247

Bereitstellen von XML-Werten aus relationalen Werten (Komposition) 249Bereitstellen von relationalen Werten aus XML-Werten (De-Komposition) 250

SQL-Funktionen zur De-Komposition 251Schema-Annotationen und Stored Procedure xdbDecompXMLund andere (deprecated) 251Beispiele von Komposition und Dekomposition 252

Evaluierung von XML-Werten mit XPath-Funktionalität 2536.4.2 Verfahren zur Bereitstellung und Analyse von XML-Daten mit DB2 für LUW 254

6.5 Utility-Unterstützung von XML-Daten 2556.5.1 DB2-Utilities (z/OS) 255

Übersicht der DB2-Utilities 255Laden und Entladen von XML-Daten (z/OS) 258

Laden von XML-Daten mit dem LOAD-Utility 258Laden von XML-Daten mit den Basis-Daten bis zu 32 KB 259Laden von XML-Daten mit den Basis-Daten über 32 KB mit Spanned Format für LOB und XML 260Laden von XML-Daten über externe Dateien/Member (File Referenz) 261

Entladen von XML-Daten mit dem UNLOAD-Utility (z/OS) 262Entladen von XML-Daten mit den Basis-Daten bis zu 32 KB 263Entladen von XML-Daten mit den Basis-Daten über 32 KB mit Spanned Format für LOB und XML 264Entladen von XML-Daten in externe Dateien (File Referenz) 265

Binary XML-Format 266Prüfungen von XML-Daten 267

Konsistenz- und Schema-Gültigkeitsprüfungen durch das CHECK-Utility 267

6.5.2 DB2-Utilities (LUW) 268Übersicht der DB2-Utilities 268Laden und Entladen von XML-Daten (LUW) 269

Laden von XML-Daten mit dem IMPORT- oder LOAD-Utility 269Aktivierung und Parametrisierung von IMPORT oder LOAD 269Laden von XML-Daten mit dem IMPORT-Utility 270

Daten ohne XML-Schema-Prüfung 272Daten mit XML-Schema-Prüfung 274

Laden von XML-Daten mit dem LOAD-Utility 279Aktivierung und Parametrisierung von LOAD 279

Entladen von XML-Daten mit dem EXPORT-Utility 286Aktivierung und Parametrisierung von EXPORT - ohne XMl-Schema-Einbezug 286Control-Statement-Vorgabe und Utility-Lauf-Protokoll von EXPORT 288Inhalte der Ausgabe-Files des EXPORT-Utility-Laufs 289Aktivierung und Parametrisierung von EXPORT - mit XMl-Schema-Einbezug 290Control-Statement-Vorgabe und Utility-Lauf-Protokoll von EXPORT 291Inhalte der Ausgabe-Files des EXPORT-Utility-Laufs 291

6.6 DB2-Speicherungskonzept für XML-Daten (z/OS) 2926.6.1 Überblick der XML-Speicherstruktur 2926.6.2 XML-Tablespace-Varianten 2936.6.3 Katalog-Tabellen für XML-Informationen 294

SYSIBM.SYSTABLESPACE und SYSIBM.SYSTABLEPART 294SYSIBM.SYSTABLES und SYSIBM.SYSCOLUMNS 295SYSIBM.SYSINDEXES und SYSIBM.SYSKEYS 296SYSIBM.SYSXMLRELS 297SYSIBM.SYSXMLSTRINGS 298

Page 9: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

IX DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

IX DB2- Theorie und Praxis : Inhaltsverzeichnis

SYSIBM.SYSSEQUENCES und SYSSEQUENCESDEP 299SYSIBM.SYSXMLTYPMOD und SYSXMLTYPMSCHEMA 300

6.7 XPath- und XQuery-Komponenten-Unterstützung durch DB2 3026.7.1 Daten-Typ-Unterstützung durch DB2 3026.7.2 XPath-Expression-Unterstützung durch DB2 304

Simple XPath-Ausdruck (XPath-Expression) 304Primär-Ausdruck: primary-expression 304Pfad-Ausdruck: path-expression 304Sequenz-Ausdruck: sequence-expression 305Arithmetischer Ausdruck: arithmetic-expression 306Vergleichs-Ausdruck: comparison-expression 307Logischer Ausdruck: logical-expression 307Iterativer Selektions-Ausdruck: for-expression 307Bedingungs-Ausdruck: conditional-expression 308Quantifizierter Ausdruck: quantified-expression 308Sequenz-Typ-Ausdruck: sequence-type-expression 308

6.7.3 XQuery-Expression-Unterstützung durch DB2 309XPath-Module und Prolog 309

Deklarationen und Definitionen 309Deklaration von Optionen für die Ausführungssteuerung (Setter) 310

Erweiterte Einfache Ausdrücke (Simple Expressions) 311Konstruktoren: constructors 311FLWOR-Ausdruck: FLWOR-expression 312Ordnungsfolge-Ausdruck: ordered- und unordered-expression 312Typeswitch-Ausdruck: typeswitch-expression 313Prüf-Ausdruck: validate-expression 313Erweiterter Ausdruck: extension-expression 313

Erweiterte Manipulierende Ausdrücke (Updating Expressions) 3146.7.4 XPath- und XQuery-Funktions-Unterstützung durch DB2 315

Anhang A1: XML-Syntax 326Einleitung 327

Grobe Inhalts-Beschreibung 327Relevante W3C-Publikationen im Internet 327Bedeutung und Aussagen des Syntax-Diagramms 328

Grund-Definitionen der Sprachmittel 329Zeichen, Zeichensätze, Strings und Codier-Schemata 329

ASCII: American Standard Code for Information Interchange 332EBCDIC: Extended Binary Coded Decimal Interchange Code 332Unicode: Universal Encoding Scheme 333

Unicode-UTF-8-Format 334Generelles Transformations-Format 334Beispielhafte Transformation 334

Unicode-UTF-16-Format 335

XML-Markierungs-Sprache (Markup-Language) 335Markierungen und Zeichendaten eines XML-Dokuments 335

CDATA-Sektion: Zeichendaten 337Behandlung spezieller Steuerungszeichen im Text 338

Zulässige und unzulässige Zeichen 338

Page 10: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

X DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

X DB2- Theorie und Praxis : Inhaltsverzeichnis

Namens-Konventionen 338Zeichen-Referenz: Numerische Code-Vorgabe eines Zeichens mit # 339Leerraum (Whitespace) 339Behandlung des Zeilenendes bzw. -wechsels 339Standard-Entities: Reservierte Zeichenketten für Sonderzeichen, wie '>', '<' usw. 340

Zeichen-Normalisierung 340Universelle Spezial-Attribute 341

xml:lang 342xml:space 343

XML-Dokument-Typ-Deklaration: <?xml ... ?> 344Verarbeitungs-Anweisungen (PI=Processing Instruction: <?...?>) 346XML-Kommentar: <!-- ... --> 347

Anhang A2 - DTD-Dokument-Typ-Definitionen 348Einleitung 349Aufgabe der DTD 349DTD-Schlüsselworte 350DTD-Kommandos 351

Dokumenten-Typ: <!DOCTYPE...> 351Element-Typ: <!ELEMENT...> 354Attribut-Typ: <!ATTLIST...> 357

DTD-Definition der universellen Spezial-Attribute 361xml:lang 361xml:space 362

Entity: <!ENTITY...> 363Notation: <!NOTATION...> 367Kommentar: <!-- beliebiger Text --> 369Bedingte Sektionen 370

Anweisung: <![IGNORE[...]]> 370Anweisung: <![INCLUDE[...]]> 372

Anhang A3: XML-Schema 373Einleitung 374Aufgabenstellung des XML-Schemas 374Bedeutung und Aussagen der W3C-Syntax-Notation 375Daten-Typen des XML-Schemas 376

Atomare Daten-Typen: primitiv 379Atomare Daten-Typen: abgeleitet 381List-Daten-Typen: abgeleitet 382Wertebereichs-Kategorien: lexikalische und kanonische Werteräume 383Restriktive Eigenschaften von Daten-Typen: Fassetten (Facets) 384

Grundlegende (fundamentale) Fassetten 384Einschränkende (constraining) Fassetten 385Verwendbare Fassetten für primitive und abgeleitete Daten-Typen 386

Muster für die Fassette "pattern" von regulären Ausdrücken 387

Struktur-Elemente und -Attribute des XML-Schemas 389Katalog der Schema-Elemente (Element-Referenz-Liste) 389

Page 11: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XI DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XI DB2- Theorie und Praxis : Inhaltsverzeichnis

Katalog der Schema-Attribute (Attribut-Referenz-Liste) 391Beispiel-Schema und XML-Dokument-Instanz 394

Darstellung des hierarchischen Modells 394XML-Dokumenten-Instanz 395XML-Schema 396

Schema-Komponenten 397Komponenten-Typen, Typ-Deklarationen und -Definition 397Schema-Wurzel-Element: <schema> 398

Übersicht der vorgebbaren Attribute im Wurzel-Element 398Verbindung zwischen XML-Dokument und Schema-Dokument 398

Die besondere Rolle von "elementFormDefault" und "attributeFormDefault" 399Anwendungs-Beispiele 400

elementFormDefault="qualified" 400elementFormDefault="unqualified" 402

Syntax: <schema> 403Syntax-Parameter: <schema> 403

Primär-Komponenten des Schemas 405Einfacher Typ: <simpleType> 406

Beispiele: Restriktion durch Fassetten-Nutzung 408Fassetten "MinExclusive" und "MaxExclusive" 408Fassetten "totalDigits", "fractionDigits" und "enumeration" 408Fassette "pattern" 409

Beispiele: Definition eines einfachen Typs basierend auf Builtin-Typ ohne Restriktionen 410Beispiele: Definition eines einfachen Typs basierend auf einfachem Typ 411Beispiele: Liste von Daten-Werten eines Daten-Typs (List-Typ) 412Beispiele: Vereinigung verschiedener Daten-Typen (Union-Typ) 413Syntax: <simpleType> mit <restriction>, <list> und <union> 415

Syntax: <simpleType> ... <restriction> 415Syntax: <simpleType> ... <list> 415Syntax: <simpleType> ... <union> 415

Syntax-Parameter 416Syntax-Parameter: <simpleType> 416Syntax-Parameter: <simpleType ... <restriction>> 416Syntax-Parameter: <simpleType ... <list>> 417Syntax-Parameter: <simpleType ... <union>> 417

Komplexer Typ: <complexType> 418Beispiele: Einfacher Inhalt (<complexType><simpleContent>) 419

Erweiterung (Extension) 421Erweiterung (Extension) und Restriktion (restriction) 422

Beispiele: Modell-Gruppe 423Modell-Gruppe <all> 423Modell-Gruppe <choice> 423Modell-Gruppe <sequence> 424Nutzung von Partikeln (maxOccurs) 425Mix der Modell-Gruppen <choice> und <sequence> 426Definition eines Gruppen-Typs 427

Beispiele: Attribut und Attribut-Gruppe 428Komplexer Typ mit Attribut 428Komplexer Typ mit Attribut-Gruppe 429

Beispiele: irgendwelche Attribute <anyAttribute> 430Komplexer Typ mit komplexem Inhalt (<complexContent>) 431

Page 12: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XII DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XII DB2- Theorie und Praxis : Inhaltsverzeichnis

Beispiele: Komplexer Typ mit komplexem Inhalt (<complexContent>) 433Syntax: <complexType> 434

Syntax: <complexType> ... <simpleContent> 434Syntax: <complexType> ... <simpleContent> ... <restriction> 434Syntax: <complexType> ... <simpleContent> ... <extension> 434Syntax: <complexType> ... <complexContent> 435Syntax: <complexType> ... <complexContent> ... <restriction> 435Syntax: <complexType> ... <complexContent> ... <extension> 435Syntax: <complexType> ... <attributeGroup> 435Syntax: <complexType> ... <anyAttribute> 436

Syntax-Parameter 437Syntax-Parameter: <complexType> 437Syntax-Parameter: <complexType> ... <simpleContent> 437Syntax-Parameter: <complexType> ... <simpleContent> ... <restriction> 438Syntax-Parameter: <complexType> ... <simpleContent> ... <extension> 438Syntax-Parameter: <complexType> ... <complexContent> 439Syntax-Parameter: <complexType> ... <complexContent> ... <restriction> 439Syntax-Parameter: <complexType> ... <complexContent> ... <extension> 439Syntax-Parameter: <complexType> ... <attributeGroup> 440Syntax-Parameter: <complexType> ... <anyAttribute> 440

Zusammenfassendes Beispiel: Namensbestandteile einer natürlichen Person 441Element-Deklaration: <element> 444

Beispiele der grundsätzlichen Element-Auftretens-Varianten 446Globales Element basierend auf einem Builtin-Daten-Typ 446Globales Element basierend auf einem einfachen Typ (simpleType) 446Globales Element referenziert auf einen einfachen Typ (simpleType) 447Globales Element basierend auf einem komplexen Typ (complexType) und lokale Elemente 447Globales Element referenziert auf einen komplexen Typ 448Lokales Element referenziert auf ein globales Element bzw. einen einfachen Daten-Typ 448

Beispiel der Inhalts-Modelle für Elemente 449Leeres Element 449Element mit fehlendem Inhalt (Nillable) 449Element nur mit Text (simpleType) 450Element nur mit Text (complexType mit simpleContent) 450Element mit gemischten Inhalten (mixed) 451Element nur mit abhängigen Elementen 452

Beispiele: "anyType" 454Beispiele: "anySimpleType" 454

Syntax: <element> 455Syntax-Parameter: <element> 455

Attribut-Deklaration: <attribute> 457Beispiele: "anySimpleType" 458Beispiele: "Attribute basierend auf Builtin-Daten-Typen" 458Beispiele: "Attribut mit Fassetten-Restriktionen" 459Beispiele: "Attribut-Definition mit Referenz aus komplexem Typ" 460Beispiele: "Attribute für Element-Gruppen" 461Syntax: <attribute> 462Syntax-Parameter: <attribute> 462

Sekundär-Komponenten des Schemas 463Assertions: <assert> 464

Grober Überblick der relevanten XPath-Test-Ausdrücke 465Beispiele: Assertions 466Syntax: <assert> 467

Page 13: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XIII DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XIII DB2- Theorie und Praxis : Inhaltsverzeichnis

Syntax-Parameter: <assert> 467Attribut-Gruppen-Definition: <attributeGroup> 468

Beispiele: Attribut und Attribut-Gruppe 469Syntax: <attributeGroup> 470Syntax-Parameter: <attributeGroup> 470

Modell-Gruppen-Definition: <group> 471Beispiele: Modell-Gruppen-Definition (group) 472Syntax: <group> 473Syntax-Parameter: <group> 473

Identity-Constraint-Definition: <unique>, <key> und <keyref> 474Grober Überblick der relevanten XPath-Ausdrücke 475Beispiele: <unique>, <key> und <keyref> 476Syntax: <unique>, <key>, <keyref>, <selector>, <field> 481

Syntax: <unique> 481 Syntax: <key> 481 Syntax: <keyref> 481 Syntax: <selector> 481 Syntax: <field> 481

Syntax-Parameter: <unique>, <key>, <keyref>, <selector>, <field> 482Syntax-Parameter: <unique> 482Syntax-Parameter: <key> 482Syntax-Parameter: <keyref> 482Syntax-Parameter: <selector> 483Syntax-Parameter: <field> 483

Notations-Deklaration: <notation> 484Beispiele: Notation 485Syntax: <notation> 485Syntax-Parameter: <notation> 485

Hilfs-Komponenten des Schemas 486Schema-Dokumentation: <annotation>, <documentation> und <appinfo> 487

Beispiele: <annotation>, <appinfo>, <documentation> 488Syntax: <annotation> 488Syntax: <appinfo> 488Syntax: <documentation> 489Syntax-Parameter: <annotation> 489Syntax-Parameter: <appinfo> 489Syntax-Parameter: <documentation> 489

Attribut-Verwendung (AttributeUses) 490Beispiele: AttributeUses 491

Modell-Gruppen (Model Groups) 492Beispiele Modell-Gruppe: <all> 493Beispiele Modell-Gruppe: <choice> 494Beispiele Modell-Gruppe: <sequence> 495Beispiele: Mix von Modell-Gruppen 496Syntax: <all> 498Syntax: <choice> 498Syntax: <sequence> 498Syntax-Parameter: <all> 499Syntax-Parameter: <choice> 499Syntax-Parameter: <sequence> 499

Elemente-Verwendung (Partikel) 500

Page 14: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XIV DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XIV DB2- Theorie und Praxis : Inhaltsverzeichnis

Platzhalter-Modelle (Wildcards) 502Beispiele: irgendwelche Elemente <any> 503Beispiele: irgendwelche Attribute <anyAttribute> 503

Syntax: <any> 503Syntax-Parameter: <any> 504

Konstruktions-Komponenten des Schemas 505Komponenten-Import aus einem anderen Schema (anderer Namensraum): <import> 505

Beispiele: <import> 506Syntax: <import> 506Syntax-Parameter: <import> 506

Komponenten-Einbettung aus einem anderen Schema (selber Namensraum): <include> 507Beispiele: <include> 508Syntax: <include> 508Syntax-Parameter: <include> 508

Komponenten-Redefinition aus einem anderen Schema (selber Namensraum): <redefine> 509Beispiele: <redefine> 510Syntax: <redefine> 511Syntax-Parameter: <redefine> 511

Anhang A4: XML Path-Language (XPath) 512Einleitung 513

Relevante W3C-Publikationen im Internet zu XPath und XQuery 513Relevante Namensräume zu XPath und XQuery 514

Aufgabe von XPath 515Statischer und Dynamischer Kontext 515Atomic Daten-Typen als Basis für XPath-Funktionalitäten 516

Daten-Typen in Abhängigkeit von der Existenz eines XML-Schemas 516Konvertierung von Daten-Typen 516

XPath-Fehlermeldungen 517Syntaktische Sprach-Komponenten von XPath 518

Beispiele 518XPath-Ausdruck (XPath-Expression) 519

Expression und ExprSingle 519Arithmetischer Ausdruck: arithmetic-expression 520Vergleichs-Ausdruck: comparison-expression 521IF-Bedingungs-Ausdruck: conditional-expression (If-Expression) 522 Iterativer Selektions-Ausdruck: for-expression 524Logischer Ausdruck: logical-expression 525Pfad-Ausdruck: path-expression 527

Filter-Ausdruck: filter-expression und Prädikat (predicate) 529Achsen-Schritt: axis-step 530Vorwärts-Positionierungen: ForwardAxis 532Rückwärts-Positionierungen: ReverseAxis 534Knoten-Test: NodeTest 535

Knoten-Typ-Test: KindTest 537

Primär-Ausdruck: primary-expression 539Quantifizierter Ausdruck: quantified-expression 542Sequenz-Ausdruck: sequence-expression 544

Page 15: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XV DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XV DB2- Theorie und Praxis : Inhaltsverzeichnis

Kombination von Knoten-Sequenzen: combining node sequences 546Sequenz-Typ-Ausdruck: sequence-type-expression 548Sequenz-Typ: SequenceType 549

XPath-Funktionen 550Grundsätzliche Syntax für den Aufruf einer Funktion 550Accessors (Zugriffs-Methoden auf Knoten) 550

fn:base-uri - Basis-URI bereitstellen 551fn:data - Atomisierte Werte bereitstellen 552fn:document-uri - Dokument-URI bereitstellen 553fn:nilled - Leere Einheit testen 554fn:node-name - Knoten-Namen bereitstellen 555fn:string - String-Wert des Arguments bereitstellen 557

Fehler- und Trace-Funktionen 558fn:error - Fehler erzeugen 558fn:trace - Trace-Eintrag erzeugen 559

Konstruktor-Funktionen 560xs:TYPE - Atomic-Daten-Typ-Wert erzeugen 561fn:dateTime - Datum und Uhrzeit erzeugen 562

Numerische Funktionen 563Arithmetische Operatoren analog XPath-Arithmetische Ausdrücke 563

op:numeric-add - Addition 563op:numeric-subtract - Subtraktion 563op:numeric-multiply - Multiplikation 564 op:numeric-divide - Division 564op:numeric-integer-divide - Division 564op:numeric-mod - Modulus 564op:numeric-unary-plus - Vorzeichen beibehalten 565op:numeric-unary-minus - Vorzeichen umdrehen 565

Vergleichs-Operatoren für numerische Daten analog XPath-Vergleichs-Ausdrücke 565op:numeric-equal - Gleichheits-Vergleich 565op:numeric-less-than - Kleiner-Vergleich 566op:numeric-greater-than - Größer-Vergleich 566

Arithmetische Funktionen 567fn:abs - Absoluter Wert 567fn:ceiling - Aufrundung auf Ganzzahl 568fn:floor - Abrundung auf Ganzzahl 569fn:round - Auf- oder Abrundung auf Ganzzahl 569fn:round-half-to-even - Auf- oder Abrundung mit Spezifikation der Genauigkeit 570

Funktionen für String-Werte 571String-Funktionen für das Zusammenführen oder Zergliedern von Teilketten 572

fn:codepoints-to-string - Unicode-Code-Positionen in Sequenz zusammenführen 572fn:string-to-codepoints - Sequenz in Unicode-Code-Positionen zergliedern 573

Vergleichs-Operatoren für String-Daten analog XPath-Vergleichs-Ausdrücke 574fn:compare - Vergleich zweier String-Inhalte 575fn:codepoint-equal - Vergleich zweier String-Inhalte aufgrund der Unicode-Collation 576

String-Funktionen 577fn:concat - Verknüpfung von Strings 580fn:string-join - Verknüpfung von Strings mit Separator 581

Page 16: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XVI DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XVI DB2- Theorie und Praxis : Inhaltsverzeichnis

fn:substring - Teilkette aus String herauslösen 582fn:string-length - Länge eines Strings ermitteln 583fn:normalize-space - Normalisierung eines Strings 584fn:normalize-unicode - Normalisierung eines Strings nach Unicode Normalization Norm 585fn:upper-case - String-Inhalt in Großbuchstaben konvertieren 586fn:lower-case - String-Inhalt in Kleinbuchstaben konvertieren 587fn:translate - String-Zeichen ersetzen 588fn:encode-for-uri - Inkompatible Zeichen für URI ersetzen 589fn:iri-to-uri - Inkompatible Zeichen für URI aus einem IRI ersetzen 589fn:escape-html-uri - Inkompatible Zeichen für HTML aus einem URI ersetzen 590

Substring-Matching-Funktionen 591fn:contains - Prüfung, ob ein String in einem anderen enthalten ist 592fn:starts-with - Prüfung, ob ein String in einem anderen am Anfang enthalten ist 593fn:ends-with - Prüfung, ob ein String in einem anderen am Ende enthalten ist 594fn:substring-before - Bereitstellen Teil-String, der vor einem String liegt 595fn:substring-after - Bereitstellen Teil-String, der hinter einem String liegt 596

Pattern-Funktionen 597Erweiterte XPath-Pattern-Metazeichen für reguläre Ausdrücke 597fn:matches - Prüfung einer Teilkette in einem String aufgrund eines Musters (Pattern) 599fn:replace - Ersetzen einer Teilkette in einem String aufgrund eines Musters (Pattern) 600fn:tokenize - Aufteilen eines Strings in eine Sequenz von Strings 601

Funktionen für anyURI 602fn:resolve-uri - Bereitstellung einer absoluten URI-Referenz 602

Funktionen und Operatoren für Boolean-Werte 603Boolean-Konstruktor-Funktionen 603

fn:true - Erzeugt den Wert 'Wahr' ('True') 603fn:false - Erzeugt den Wert 'Falsch' ('False') 604

Operatoren für Boolean-Werte 605op:boolean-equal - Gleichheits-Vergleich 605op:boolean-less-than - Kleiner-Vergleich 606op:boolean-greater-than - Größer-Vergleich 606

Funktionen für Boolean-Werte 607fn:not - Kehrt einen Boolean-Wert um (Invertierung) 607

Funktionen und Operatoren für Datum, Zeit und Zeitdauer (Duration) 608Duration-, Date- und Time-Typen 609

Behandlung und Bereitstellung der Duration-, Date- und Time-Werte 609Zusätzliche Sub-Typen von xs:duration: xs:yearMonthDuration und xs:dayTimeDuration 610

xs:yearMonthDuration - Differenz in Jahren und Monaten 611xs:dayTimeDuration - Differenz in Tagen und Stunden, Minuten, Sekunden 612

Vergleichs-Operatoren für datums- bzw. zeitbezogene Werte 613op:yearMonthDuration-less-than - Kleiner-Vergleich 614op:yearMonthDuration-greater-than - Größer-Vergleich 614op:dayTimeDuration-less-than - Kleiner-Vergleich 614op:dayTimeDuration-greater-than - Größer-Vergleich 614op:duration-equal - Gleichheits-Vergleich 615op:dateTime-equal - Gleichheits-Vergleich 615op:dateTime-less-than - Kleiner-Vergleich 615op:dateTime-greater-than - Größer-Vergleich 615op:date-equal - Gleichheits-Vergleich 616op:date-less-than - Kleiner-Vergleich 616

Page 17: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XVII DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XVII DB2- Theorie und Praxis : Inhaltsverzeichnis

op:date-greater-than - Größer-Vergleich 616op:time-equal - Gleichheits-Vergleich 617op:time-less-than - Kleiner-Vergleich 617op:time-greater-than - Größer-Vergleich 617op:gYearMonth-equal - Gleichheits-Vergleich 617 op:gYear-equal - Gleichheits-Vergleich 618op:gMonthDay-equal - Gleichheits-Vergleich 618op:gMonth-equal - Gleichheits-Vergleich 618op:gDay-equal - Gleichheits-Vergleich 618

Funktionen für die Extrahierung einzelner Komponenten 619fn:years-from-duration- Jahre extrahieren 620fn:months-from-duration- Monate extrahieren 620fn:days-from-duration- Tage extrahieren 621fn:hours-from-duration- Stunden extrahieren 621fn:minutes-from-duration- Minuten extrahieren 622fn:seconds-from-duration- Sekunden extrahieren 622fn:year-from-dateTime - Jahr extrahieren 623fn:month-from-dateTime - Monat extrahieren 623fn:day-from-dateTime - Tag extrahieren 624fn:hours-from-dateTime - Stunden extrahieren 624fn:minutes-from-dateTime - Minuten extrahieren 625fn:seconds-from-dateTime - Sekunden extrahieren 625fn:timezone-from-dateTime - Zeitzone extrahieren 626fn:year-from-date - Jahr extrahieren 626fn:month-from-date - Monat extrahieren 627fn:day-from-date - Tag extrahieren 627fn:timezone-from-date - Zeitzone extrahieren 628fn:hours-from-time - Stunden extrahieren 628fn:minutes-from-time - Minuten extrahieren 629fn:seconds-from-time - Sekunden extrahieren 629fn:timezone-from-time - Zeitzone extrahieren 630

Arithmetische Operatoren für datums- bzw. zeitbezogene Werte 631op:subtract-dateTimes - Subtraktion von Datums-, Zeitwerten 632op:subtract-dates - Subtraktion von Datumswerten 633op:subtract-times - Subtraktion von Zeitwerten 634op:add-yearMonthDuration-to-dateTime - Addition von Datumswerten 635op:add-dayTimeDuration-to-dateTime - Addition von Zeitwerten 636op:subtract-yearMonthDuration-from-dateTime - Subtraktion von Zeitwerten 637op:subtract-dayTimeDuration-from-dateTime - Subtraktion von Zeitwerten 638op:add-yearMonthDuration-to-date - Addition von Datumswerten 639op:add-dayTimeDuration-to-date - Addition von Datumswerten 640op:subtract-yearMonthDuration-from-date - Substraktion von Datumswerten 641op:subtract-dayTimeDuration-from-date - Substraktion von Datumswerten 642op:add-dayTimeDuration-to-time - Addition von Zeitwerten 643op:subtract-dayTimeDuration-from-time - Subtraktion von Zeitwerten 644op:add-yearMonthDurations - Addition von Jahren, Monaten 645op:subtract-yearMonthDurations - Subtraktion von Jahren, Monaten 646op:multiply-yearMonthDurations - Multiplikation von Jahren, Monaten 647op:divide-yearMonthDurations - Division von Jahren, Monaten 648op:divide-yearMonthDuration-by-yearMonthDuration - Division von Jahren, Monaten 649

Page 18: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XVIII DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XVIII DB2- Theorie und Praxis : Inhaltsverzeichnis

op:add-dayTimeDurations - Addition von Tagen und Zeiten 650op:subtract-dayTimeDurations - Subtraktion von Tagen und Zeiten 651

op:multiply-dayTimeDurations - Multiplikation von Tagen und Zeiten 652op:divide-dayTimeDurations - Division von Tagen und Zeiten 653op:divide-dayTimeDuration-by-dayTimeDuration - Division von Tagen und Zeiten 654

Funktionen für die Ausrichtung an Zeitzonen 655fn:adjust-dateTime-to-timezone - Zeitzone für xs:dateTime-Wert 655fn:adjust-date-to-timezone - Zeitzone für xs:date-Wert 656fn:adjust-time-to-timezone - Zeitzone für xs:time-Wert 657

Funktionen für QNamen 658Konstruktor-Funktionen für QNamen 658

fn:resolve-QName - QName bilden 658fn:QName - QName mit Namensraum-Präfix zurückgeben 659

Funktionen und Operatoren für QNamen 660op:QName-equal - Vergleich zweier QNamen 661fn:prefix-from-QName - Präfix von QNamen zurückgeben 662fn:local-name-from-QName - Lokalen Namensbestandteil von QNamen zurückgeben 662fn:namespace-uri-from-QName - Namensraum-URI von QNamen zurückgeben 663fn:namespace-uri-for-prefix - Namensraum-URI von QNamen zurückgeben 664fn:in-scope-prefixes - Namensraum-Präfixe eines Elements zurückgeben 665

Operatoren für Binär-Werte 666op:hexBinary-equal - Vergleich zweier Hex-Binär-Werte 666op:base64Binary-equal - Vergleich zweier Base64-Binär-Werte 667

Operatoren für NOTATION 668op:NOTATION-equal - Vergleich zweier NOTATIONs-Werte 668

Funktionen und Operatoren für Knoten (Nodes) 669fn:name - Name eines Knotens zurückgeben 670fn:local-name - Lokalen Namen eines Knotens zurückgeben 671fn:namespace-uri - Namensraum-URI eines Knotens zurückgeben 672fn:number - Wert eines Knotens zurückgeben 673fn:lang - Test der Sprache eines Knotens 674op:is-same-node - Test der Übereinstimmung zweier Knoten 675op:node-before - Test des Auftretens eines Knotens vor einem anderen 676op:node-after - Test des Auftretens eines Knotens nach einem anderen 677fn:root - Rückgabe des Wurzel-Knotens (Root) 678

Funktionen und Operatoren für Sequenzen (Sequences) 680Generelle Funktionen und Operatoren 680

fn:boolean - Erzeugung des effektiven Boolean-Wertes 682op:concatenate - Verknüpfung von Einheiten zur Sequenz 683fn:index-of - Rückgabe von String-Positionen 684fn:empty- Test auf leere Sequenz 685fn:exists - Test auf nicht leere Sequenz 686fn:distinct-values - Rückgabe der unterschiedlichen Einheiten in einer Sequenz 687fn:insert-before - Rückgabe einer erweiterten Sequenz 688fn:remove - Entfernen einer Einheit in einer Sequenz 690fn:reverse - Umkehren der Ordnungsfolge der Einheiten in einer Sequenz 692fn:subsequence - Ausschnitt von Teil-Einheiten aus einer Sequenz 694fn:unordered - Rückgabe der Teil-Einheiten einer Sequenz in beliebiger Folge 696

Page 19: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XIX DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XIX DB2- Theorie und Praxis : Inhaltsverzeichnis

Funktionen zum Test der Kardinalitäten (Auftretenshäufigkeit von Einheiten) 697fn:zero-or-one - Testen, ob Sequenz keine oder eine Einheit aufweist 697

fn:one-or-more - Testen, ob Sequenz eine oder mehr Einheiten aufweist 698fn:exactly-one - Testen, ob Sequenz keine oder eine Einheit aufweist 699

Set-Funktionen und Operatoren: Equals, Union, Except und Intersect 700fn:deep-equal - Test auf strukturelle und inhaltliche Übereinstimmung von Sequenzen 701op:union - Vereinigung aller nicht redundanter Sequenz-Knoten 703op:intersect - Vereinigung übereinstimmender Sequenz-Knoten 704op:except - Vereinigung nicht übereinstimmender Sequenz-Knoten 706

Aggregations-Funktionen 708fn:count - Anzahl der Einheiten in einer Sequenz ermitteln 708fn:avg - Durchschnittswert der Einheiten in einer Sequenz ermitteln 710fn:max - Maximalen Wert der Einheiten in einer Sequenz ermitteln 711fn:min - Minimalen Wert der Einheiten in einer Sequenz ermitteln 712fn:sum - Summierung der Einheiten in einer Sequenz 713

Funktionen und Operatoren zur Generierung von Sequenzen 714op:to - Generierung einer Werteliste - bis (to) in einer Sequenz 714fn:id - Rückgabe einer Sequenz mit Element-Knoten, die ID-Werte enthalten 715fn:idref - Rückgabe einer Sequenz mit Element-Knoten, die REFID-Werte enthalten 715fn:doc - Rückgabe eines Dokuments 716fn:doc-available - Test der Verfügbarkeit eines Dokuments 716fn:collection - Rückgabe einer Collection 717fn:element-with-id Rückgabe einer Sequenz mit Element-Knoten, die ID-Werte enthalten 717

Kontext-Funktionen 718fn:position - Bereitstellung der Kontext-Position 719fn:last - Bereitstellung der Kontext-Größe 720fn:current-time - Bereitstellung aktuelle Uhrzeit 721fn:implicit-timezone - Bereitstellung der impliziten Zeitzone 721fn:current-date - Bereitstellung aktuelles Datum 722fn:default-collation - Bereitstellung der Default-Collation 723fn:static-base-uri - Bereitstellung der Base-URI 723

Cast-Funktionen 724Konvertierung zwischen primitiven Daten-Typen 724

Konvertierung von und zu xs:string- und xs:untypedAtomic-Daten-Typen 724

Anhang A5: XQuery-Language 725Einleitung 726

Relevante W3C-Publikationen im Internet zu XPath und XQuery 727Relevante Namensräume zu XPath und XQuery 727

Komponenten des statischen und dynamischen Kontextes 728Statischer Kontext 728Dynamischer Kontext 728

XQuery-Abfragen: Syntaktische Sprach-Komponenten von XQuery 729Grundaufbau der XQuery-Sprach-Komponenten 729XQuery-Beispiel 729XQuery-Kommentar: (: Kommentar :) 731XQuery-Modul und Prolog 732

Bibliotheks- und Haupt-Modul (Library- und Main-Module) 732

Page 20: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XX DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XX DB2- Theorie und Praxis : Inhaltsverzeichnis

xquery version: Versions-Deklaration 733module namespace: Bibliotheks-Modul-Deklaration 735XQuery-Prolog 736

declare default element | function: Default-Namensraum-Deklaration 737Import-Deklaration für Module und Schemas 738

import module: Modul-Import 738import schema: Schema-Import 739

declare namespace: Namensraum-Deklaration 740Deklaration von Optionen für die Ausführungssteuerung (Setter) 741

declare base-uri: Deklaration einer Basis-URI 741declare boundary-space: Deklaration der Begrenzungs-Leerzeichen 742declare construction: Deklaration des Konstruktions-Modus für Daten-Typen 743declare copy namespaces: Deklaration des Namensraums für Konstrukturen 744declare default collation: Deklaration der Default-Collation 745declare default order empty: Deklaration der Default-Sortierfolge von leeren Sequenzen 746declare ordering: Deklaration der Default-Sortierfolge von Ergebnissen ohne "order by" 747declare revalidation: Deklaration des Default-Recovery-Verhaltens von Typen bei Manipulationen 748

declare function: Deklaration einer benutzerdefinierten oder externen Funktion 749declare option: Deklaration einer implementationsspezifischen Option 750declare variable: Deklaration einer Variablen 750

XQuery-Ausdruck für Abfragen / XQuery-Expression 751Expression, ExprSingle (Abfragen) und Simple Expression 751Arithmetischer Ausdruck: arithmetic-expression 753Vergleichs-Ausdruck: comparison-expression 753Generator für XML-Knoten: Constructor 754

Dynamischer Generator für XML-Knoten: Computed Constructor 755Direkt-Generator für XML-Knoten: Direct Constructor 757

FLWOR - Ausdruck (ausgesprochen: Flower) 760Anwendungs-Beispiel: FLWOR 761Anwendungs-Beispiel: Join 763Iterative Anbindung von Werten an eine Variable - ForClause 764Einmalige Anbindung von Werten an eine Variable - LetClause 766

Kombination von LET und FOR 767Filterung von Werten - WhereClause 768Sortierung von Werten - OrderByClause 770Rückgabe von Werten - ReturnClause 772

IF-Bedingungs-Ausdruck: conditional-expression (If-Expression) 772Logischer Ausdruck: logical-expression 773Ordnungsfolge-Ausdruck: ordered- und unordered-expression 774Pfad-Ausdruck: path-expression 775Primär-Ausdruck: primary-expression 775Quantifizierter Ausdruck: quantified-expression 776Sequenz-Ausdruck: sequence-expression 776Sequenz-Typ-Ausdruck: sequence-type-expression 777Prüf-Ausdruck: validate-expression 778Erweiterter Ausdruck: extension-expression 779

XQuery-Update Facility: Sprach-Komponenten für Manipulationen 780Terminologie bei Manipulationen 780Update-Operationen (Update Primitives) 781Update-Routinen 781Erweiterungen der XQuery-Sprach-Komponenten 782

Page 21: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XXI DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XXI DB2- Theorie und Praxis : Inhaltsverzeichnis

Erweiterungen des Prologs 782declare revalidation 782

Expression, ExprSingle (Manipulationen) und Updating Expression 783Löschen von Knoten: delete-expression 785

Löschen von Knoten: DB2-z/OS-Szenario 786Löschen von Knoten: DB2-LUW-Szenario 787

Einfügung von Knoten: insert-expression 789Einfügung von Knoten: DB2-z/OS-Szenario 790Einfügung von Knoten: DB2-LUW-Szenario 791

Umbenennung von Knoten: rename-expression 793Umbenennung von Knoten: Unter DB2 for z/OS derzeit nicht unterstützt 793Umbenennung von Knoten: DB2-LUW-Szenario 794

Ersetzen von Knoten bzw. Knoten-Inhalten: replace-expression 795Änderung von Knoten bzw. Knoten-Inhalten: DB2-z/OS-Szenario 796Änderung von Knoten bzw. Knoten-Inhalten: DB2-LUW-Szenario 797

Kopieren und temporäres Modifizieren von Knoten und-Inhalten.: transform-expression 799Kopieren und temporäres Modifizieren von Knoten und Knoten-Inhalten unter DB2 für z/OS 800Kopieren und temporäres Modifizieren von Knoten und Knoten-Inhalten: DB2-LUW-Szenario 800

Erweiterungen von Funktionen 801fn:put 801

Vollzug der Veränderungen auf der Datenbasis unter DB2 801

Updating Function: Funktionen mit Manipulationsmöglichkeiten 802

Anhang A6: DB2-XML-Syntax 803Grobe Inhalts-Beschreibung 804SQL-XML-Sprach-Komponenten 805

Überblick 805SQL-XML-Sprach-Konstrukte 807

Builtin Daten-Typ XML 807XML-Wert 808XML-Wert-Restriktionen 809

SQL-Expressions 809XML-Expression 809CAST-Spezifikation 810XMLCAST-Spezifikation 812

SQL-Prädikate mit Nutzungsmöglichkeit für XML-Werte 815Überblick 815VALIDATED-Prädikat (nur LUW) 816

Beispiele VALIDATED 817XMLEXISTS-Prädikat 818

Beispiele XMLEXISTS 820

SQL-XML-Funktionen 822SQL-XML-Aggregations-Funktionen 822

XMLAGG - Bereitstellen XML-Sequenz zur Sortierung/Gruppierung 822Zusammenführen der Daten der SEMINARANGEBOT-Tabelle aus den relationalen Basis-Tabellen 825

XMLGROUP - Aggregieren XML-Sequenz aus relationalen Werten (nur LUW) 828SQL-XML-Skalare Funktionen (Scalar Functions) 830

DSN_XMLVALIDATE - Prüfung eines XML-Dokuments auf XML-Schema-Gültigkeit (nur z/OS) 830XMLATTRIBUTES - Konvertieren XML-Attribute aus den Argumenten 831XMLCOMMENT - Erzeugen eines XML-Kommentars 832

Page 22: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XXII DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XXII DB2- Theorie und Praxis : Inhaltsverzeichnis

XMLCONCAT - Verknüpfung von XML-Elementen zu einem XML-Forest 833XMLDOCUMENT - Rückgabe eines XML-Dokuments 834XMLELEMENT - Konvertieren XML-Elemente aus den Argumenten 835XMLFOREST - Generierung einer Liste von XML-Elementen (Forest) 838XMLMODIFY - Modifikation von Dokumenten-Teilen auf Knoten-Ebene (Db2 für z/OS) 841

XMLMODIFY - Basis-Update-Expressions (XPath-Updating-Expression) 842Delete-Expression 842Insert-Expression 843Replace-Expression 845

XMLNAMESPACES - Deklaration von XML-Namespaces 847XMLPARSE - Verarbeitung und Prüfung eines XML-Dokuments 848XMLPI - Bereitstellung einer XML-Verarbeitungs-Instruktion (PI-Processing Instruction) 850XMLQUERY- Rückgabe eines XML-Werts aufgrund einer XPath-Evaluierung 851XMLROW - Bereitstellen XML-Sequenz aus relationalen Werten (nur LUW) 853XMLSERIALIZE - Bereitstellung einer XML-Sequenz 855XMLTEXT- Bereitstellung eines XML-Text-Knotens 858XMLVALIDATE- Prüfung eines XML-Dokuments auf XML-Schema-Gültigkeit (nur LUW) 859XMLXSROBJECTID - Prüfung, ob ein XML-Dokument gegen XML-Schema-Regeln geprüft wurde (Validate) 861XSLTRANSFORM- Konvertieren XML-Daten in andere Formate 862

XSLTRANSFORM- Konvertieren XML-Daten in andere Formate (LUW) 862XSLTRANSFORM- Konvertieren XML-Daten in andere Formate (z/OS) 865

SQL-XML-Table-Funktionen 867XMLTABLE - Bereitstellen einer Result Table durch Evaluierung von XPath-Ausdrücken 867

SQL-Stored-Procedures für XML 870Funktionen zur Verwaltung von XML-Schemas 870

Überblick 870XSR_ADDSCHEMADOC: Registrierung weiterer XML-Schema-Dokumente 871XSR_COMPLETE: Abschluss der Registrierung eines XML-Schemas 872XSR_DTD: Registrierung einer DTD (nur LUW) 873XSR_EXTENTITY: Registrierung einer externen Entity (nur LUW) 874XSR_REGISTER: Registrierung des Primär-XML-Schema-Dokuments 875XSR_REMOVE: Löschung aller Komponenten eines XML-Schemas (nur z/OS) 876XSR_UPDATE: Änderung oder Erweiterung eines registrierten XML-Schemas (nur LUW) 877

Dekomposition von XML-Daten (Shredding) 878Überblick 878XDBDECOMPXML: XML-Dekomposition 879

XQuery-Sprach-Komponenten 880Überblick 880XQuery-Funktionen im Rahmen der XQuery- oder SQL-Sprachschnittstellen unter DB2 für z/OS 880XQuery-Funktionen im Rahmen der XQuery- oder SQL-Sprachschnittstellen unter DB2 für LUW 880XQuery-SQL-Funktionen 881

db2-fn:sqlquery 881db2-fn:xmlcolumn 884

DB2-XQuery-Manipulations-Funktionen 885Einleitung 885Löschen von Knoten: delete-expression 886Einfügung von Knoten: insert-expression 889Umbenennung von Knoten: rename-expression 890Ersetzen von Knoten bzw. Knoten-Inhalten: replace-expression 891

Page 23: DB2 Version 10 for z/OS - Theorie und Praxis · 2014. 4. 21. · 6.1.6 Überblick der XML-Erweiterungen in der DB2-Version 10 for z/OS 188 6.2 Definition der DB2-XML-Datenstrukturen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XXIII DB2- Theorie und Praxis : Lizenz-Variablen

© Copyright DGD GmbH Germany 65201 Wiesbaden

XXIII DB2- Theorie und Praxis : Inhaltsverzeichnis

Kopieren und temporäres Modifizieren von Knoten und-Inhalten: transform-expression 892Test-Daten 893

DB2 Version 11 z/OS 893Definition Tablespace, Table und Indizes 893Einfügen der Daten mit SQL-INSERT ohne Gültigkeitsprüfung 894

DB2 Version 10.5 LUW 897Definition Table und Indizes 897XML-Schema 898Registrierung des XML-Schemas 899Einfügen der Daten mit SQL-INSERT mit Gültigkeitsprüfung 899