Einstieg in XML - Grundlagen, Praxis, Referenz
von: Helmut Vonhoegen
Galileo Press, 2013
ISBN: 9783836226202
Sprache: Deutsch
655 Seiten, Download: 11594 KB
Format: PDF, auch als Online-Lesen
Vorwort | 21 | ||
Einführung | 23 | ||
1.1 Kleines Einstiegsprojekt zum Kennenlernen | 23 | ||
1.1.1 Ein erstes XML-Dokument | 23 | ||
1.1.2 Standardausgabe im Webbrowser | 24 | ||
1.1.3 Wohlgeformtheit ist ein Muss | 25 | ||
1.1.4 Gültige Dokumente per DTD oder Schema | 26 | ||
1.1.5 Formatierte Datenausgabe | 28 | ||
1.2 XML - universale Metasprache und Datenaustauschformat | 30 | ||
1.2.1 Unabhängigkeit von Anwendungen und Plattformen | 30 | ||
1.2.2 SGML R HTML R XML | 30 | ||
1.2.3 Lob des Einfachen | 31 | ||
1.2.4 Inhaltsbeschreibungssprache | 31 | ||
1.2.5 Trennung von Inhalt und Form | 32 | ||
1.2.6 Vom Dokumentformat zum allgemeinen Datenformat | 32 | ||
1.2.7 Globale Sprache für den Datenaustausch | 33 | ||
1.2.8 Interoperabilität | 34 | ||
1.3 Übersicht über die Sprachfamilie XML | 34 | ||
1.3.1 Kernspezifikationen | 35 | ||
1.3.2 Ergänzende Spezifikationen | 36 | ||
1.3.3 Programmierschnittstellen | 36 | ||
1.3.4 XML-Anwendungen | 37 | ||
1.4 XML-Editoren und Entwicklungsumgebungen | 37 | ||
1.4.1 Editoren für XML | 38 | ||
1.4.2 Schema- und Stylesheet-Designer | 39 | ||
1.4.3 Entwicklungsumgebungen mit XML-Unterstützung | 41 | ||
1.4.4 XML-Dokumente über Standardanwendungen | 41 | ||
1.4.5 Parser und andere Prozessoren | 42 | ||
1.5 Anwendungsbereiche | 43 | ||
1.5.1 XML-Vokabulare | 43 | ||
1.5.2 Datenaustausch zwischen Anwendungen | 45 | ||
1.5.3 Verteilte Anwendungen und Webdienste | 46 | ||
XML - Bausteine und Regeln | 47 | ||
2.1 Aufbau eines XML-Dokuments | 47 | ||
2.1.1 Entitäten und Informationseinheiten | 47 | ||
2.1.2 Parsed und unparsed | 48 | ||
2.1.3 Die logische Sicht auf die Daten | 49 | ||
2.1.4 Der Prolog | 51 | ||
2.1.5 Zeichenkodierung | 51 | ||
2.1.6 Standalone or not | 52 | ||
2.1.7 XML-Daten: der Baum der Elemente | 53 | ||
2.1.8 Start-Tags und End-Tags | 54 | ||
2.1.9 Elementtypen und ihre Namen | 55 | ||
2.1.10 Regeln für die Namensgebung | 56 | ||
2.1.11 Elementinhalt | 57 | ||
2.1.12 Korrekte Schachtelung | 57 | ||
2.1.13 Attribute | 58 | ||
2.2 Die Regeln der Wohlgeformtheit | 60 | ||
2.3 Elemente oder Attribute? | 60 | ||
2.4 Reservierte Attribute | 61 | ||
2.4.1 Sprachidentifikation | 61 | ||
2.4.2 Leerraumbehandlung | 61 | ||
2.5 Entitäten und Verweise darauf | 62 | ||
2.5.1 Eingebaute und eigene Entitäten | 62 | ||
2.5.2 Zeichenentitäten | 63 | ||
2.6 CDATA-Sections | 63 | ||
2.7 Kommentare | 64 | ||
2.8 Verarbeitungsanweisungen | 65 | ||
2.9 Namensräume | 65 | ||
2.9.1 Das Problem der Mehrdeutigkeit | 65 | ||
2.9.2 Eindeutigkeit durch URIs | 66 | ||
2.9.3 Namensraumname und Präfix | 67 | ||
2.9.4 Namensraumdeklaration und QNamen | 67 | ||
2.9.5 Einsatz mehrerer Namensräume | 68 | ||
2.10 XML Version 1.1 | 69 | ||
Dokumenttypen und Validierung | 71 | ||
3.1 Metasprache und Markup-Vokabulare | 71 | ||
3.1.1 Datenmodelle | 71 | ||
3.1.2 Selbstbeschreibende Daten und Lesbarkeit | 72 | ||
3.1.3 Dokumenttyp-Definition - DTD | 72 | ||
3.1.4 XML Schema | 73 | ||
3.1.5 Vokabulare | 73 | ||
3.2 Regeln der Gültigkeit | 74 | ||
3.3 DTD oder Schema? | 74 | ||
3.4 Definition eines Dokumentmodells | 75 | ||
3.4.1 Interne DTD | 75 | ||
3.4.2 Externe DTD | 77 | ||
3.5 Deklarationen für gültige Komponenten | 77 | ||
3.5.1 Vokabular und Grammatik der Informationseinheiten | 78 | ||
3.5.2 Syntax der Dokumenttyp-Deklaration | 78 | ||
3.5.3 Syntax der Elementtyp-Deklaration | 79 | ||
3.5.4 Beispiel einer DTD für ein Kursprogramm | 79 | ||
3.5.5 Inhaltsalternativen | 81 | ||
3.5.6 Uneingeschränkte Inhaltsmodelle | 83 | ||
3.5.7 Gemischter Inhalt | 83 | ||
3.5.8 Inhaltsmodell und Reihenfolge | 84 | ||
3.5.9 Kommentare | 85 | ||
3.5.10 Die Hierarchie der Elemente | 85 | ||
3.6 Dokumentinstanz | 85 | ||
3.7 Attributlisten-Deklaration | 87 | ||
3.7.1 Aufbau einer Attributliste | 87 | ||
3.7.2 Attributtypen und Vorgaberegelungen | 88 | ||
3.7.3 Verwendung der Attributlisten | 89 | ||
3.8 Verweis auf andere Elemente | 90 | ||
3.9 Verwendung von Entitäten | 91 | ||
3.9.1 Interne Entitäten | 92 | ||
3.9.2 Externe Entitäten | 92 | ||
3.9.3 Notationen und ungeparste Entitäten | 94 | ||
3.9.4 Verwendung von Parameterentitäten | 95 | ||
3.9.5 Interne Parameterentitäten | 95 | ||
3.9.6 Externe Parameterentitäten | 95 | ||
3.10 Formen der DTD-Deklaration | 96 | ||
3.10.1 Öffentliche und private DTDs | 96 | ||
3.10.2 Kombination von externen und internen DTDs | 97 | ||
3.10.3 Bedingte Abschnitte in externen DTDs | 97 | ||
3.11 Zwei DTDs in der Praxis | 98 | ||
3.11.1 Das grafische Format SVG | 99 | ||
3.11.2 SMIL | 102 | ||
Inhaltsmodelle mit XML Schema | 109 | ||
4.1 XML Schema - der XML-basierte Standard | 109 | ||
4.1.1 Defizite von DTDs | 109 | ||
4.1.2 Anforderungen an XML Schema | 110 | ||
4.1.3 Die Spezifikation des W3C für XML Schema | 110 | ||
4.2 Erster Entwurf eines Schemas | 111 | ||
4.2.1 Verknüpfung von Schema und Dokument | 114 | ||
4.2.2 Der Baum der Schema-Elemente | 115 | ||
4.2.3 Elemente und Datentypen | 116 | ||
4.2.4 Komplexe Typen mit und ohne Namen | 116 | ||
4.2.5 Sequenzen | 117 | ||
4.2.6 Vorgegebene und abgeleitete Datentypen | 118 | ||
4.2.7 Wie viel wovon? | 118 | ||
4.3 Genereller Aufbau eines XML-Schemas | 118 | ||
4.3.1 Das Vokabular | 118 | ||
4.3.2 Die Komponenten eines XML-Schemas | 119 | ||
4.4 Datentypen | 119 | ||
4.4.1 Komplexe Datentypen | 120 | ||
4.4.2 Inhaltsmodelle und Partikel | 120 | ||
4.4.3 Erweiterbarkeit durch Wildcards | 122 | ||
4.4.4 Einfache Typen | 122 | ||
4.4.5 Benannte oder anonyme Typen | 123 | ||
4.4.6 Vorgegebene und benutzerdefinierte Datentypen | 124 | ||
4.4.7 XML Schema 1.0 - Datentypen - Kurzreferenz | 124 | ||
4.4.8 Werteraum, lexikalischer Raum und Facetten | 128 | ||
4.4.9 Ableitung durch Einschränkung | 129 | ||
4.4.10 Muster und reguläre Ausdrücke | 130 | ||
4.4.11 Grenzwerte | 132 | ||
4.4.12 Listen und Vereinigungen | 132 | ||
4.4.13 Facetten der verschiedenen Datentypen | 133 | ||
4.5 Definition der Struktur des Dokuments | 135 | ||
4.5.1 Deklaration von Elementen | 135 | ||
4.5.2 Attribute | 137 | ||
4.5.3 Elementvarianten | 138 | ||
4.5.4 Namensräume in XML Schema | 138 | ||
4.5.5 Zielnamensraum | 139 | ||
4.5.6 Umgang mit lokalen Elementen und Attributen | 141 | ||
4.6 Häufigkeitsbestimmungen | 144 | ||
4.7 Default-Werte für Elemente und Attribute | 145 | ||
4.8 Kompositoren | 146 | ||
4.8.1 |
146 | ||
4.8.2 |
147 | ||
4.8.3 |
147 | ||
4.8.4 Verschachtelte Gruppen | 148 | ||
4.9 Arbeit mit benannten Modellgruppen | 148 | ||
4.10 Definition von Attributgruppen | 150 | ||
4.11 Schlüsselelemente und Bezüge darauf | 150 | ||
4.11.1 Eindeutigkeit | 151 | ||
4.11.2 Bezüge auf Schlüsselelemente | 152 | ||
4.12 Kommentare | 154 | ||
4.13 Ableitung komplexer Datentypen | 155 | ||
4.13.1 Erweiterungen komplexer Elemente | 155 | ||
4.13.2 Einschränkung komplexer Elemente | 156 | ||
4.13.3 Steuerung der Ableitung von Datentypen | 157 | ||
4.13.4 Abstraktionen | 158 | ||
4.13.5 Gemischtwaren | 159 | ||
4.13.6 Leere oder Nichts | 160 | ||
4.13.7 Wiederverwendbarkeit | 161 | ||
4.14 Designvarianten | 162 | ||
4.14.1 Babuschka-Modelle | 162 | ||
4.14.2 Stufenmodelle | 163 | ||
4.15 Übernahme von Schema-Definitionen | 165 | ||
4.15.1 Schemas inkludieren | 165 | ||
4.15.2 Schemas importieren | 167 | ||
4.15.3 Zuordnung von Schemas in XML-Dokumenten | 172 | ||
4.16 XML Schema 1.0 - Kurzreferenz | 173 | ||
4.17 Exkurs zu XML Schema 1.1 | 182 | ||
4.17.1 Versicherungen | 183 | ||
4.17.2 Lockerungen der Regeln für Inhaltsmodelle | 183 | ||
4.17.3 Offene Modelle | 185 | ||
4.17.4 Schemaweite Attribute | 185 | ||
4.17.5 Anpassen von Schemas | 186 | ||
4.17.6 Neue Datentypen | 186 | ||
4.17.7 Einsatz bedingter Datentypen | 187 | ||
Navigation und Verknüpfung | 189 | ||
5.1 Datenauswahl mit XPath | 189 | ||
5.1.1 Baummodell und XPath-Ausdrücke | 190 | ||
5.1.2 Vom Dokument zum Knotenbaum | 190 | ||
5.1.3 Dokumentreihenfolge | 192 | ||
5.1.4 Knotentypen | 193 | ||
5.1.5 Lokalisierungspfade | 194 | ||
5.1.6 Ausführliche Schreibweise | 196 | ||
5.1.7 Lokalisierungsstufen und Achsen | 196 | ||
5.1.8 Knotentest | 201 | ||
5.1.9 Filtern mit Prädikaten | 202 | ||
5.1.10 Test von XPath-Ausdrücken | 202 | ||
5.1.11 XPath 1.0-Funktionen | 205 | ||
5.2 XPath 2.0 | 208 | ||
5.2.1 Erweitertes Datenmodell | 209 | ||
5.2.2 Neue Konstrukte für Ausdrücke | 210 | ||
5.2.3 Neue Datentypen | 210 | ||
5.2.4 Neue Operatoren | 211 | ||
5.2.5 Die erweiterte Funktionenbibliothek | 211 | ||
5.3 Verknüpfungen mit XLink | 223 | ||
5.3.1 Mehr als Anker in HTML | 223 | ||
5.3.2 Beziehungen zwischen Ressourcen | 224 | ||
5.3.3 Link-Typen und andere Attribute | 225 | ||
5.3.4 Beispiel für einen einfachen Link | 227 | ||
5.3.5 Beispiel für einen Link vom Typ »extended« | 228 | ||
5.3.6 XLink-Anwendungen | 229 | ||
5.4 XBase | 230 | ||
5.5 Über XPath hinaus: XPointer | 231 | ||
5.5.1 URIs und Fragmentbezeichner | 231 | ||
5.5.2 XPointer-Syntax | 232 | ||
5.5.3 Das Schema element() | 232 | ||
5.5.4 Das Schema xmlns() | 233 | ||
Datenausgabe mit CSS | 237 | ||
6.1 Cascading Stylesheets für XML | 239 | ||
6.2 Arbeitsweise eines Stylesheets | 239 | ||
6.3 Anlegen von Stylesheets | 241 | ||
6.4 Vererben und Überschreiben | 243 | ||
6.5 Selektortypen | 244 | ||
6.6 Attributselektoren | 245 | ||
6.7 Kontext- und Pseudoselektoren | 245 | ||
6.8 Schriftauswahl und Textformatierung | 246 | ||
6.8.1 Absolute Maßeinheiten | 246 | ||
6.8.2 Relative Maßeinheiten | 247 | ||
6.8.3 Prozentangaben | 247 | ||
6.8.4 Maßangaben über Schlüsselwörter | 247 | ||
6.9 Farbauswahl | 247 | ||
6.10 Blöcke, Ränder, Rahmen, Füllung und Inhalt | 248 | ||
6.11 Stylesheet-Kaskaden | 250 | ||
6.12 Auflösung von Regelkonflikten | 250 | ||
6.13 Zuordnung zu XML-Dokumenten | 251 | ||
6.14 Schwächen von CSS | 252 | ||
Umwandlungen mit XSLT | 253 | ||
7.1 Sprache für Transformationen | 253 | ||
7.1.1 Bedarf an Transformationen | 253 | ||
7.1.2 Grundlegende Merkmale von XSLT | 255 | ||
7.1.3 XSLT-Prozessoren | 255 | ||
7.1.4 Die Elemente und Attribute von XSLT | 257 | ||
7.1.5 Verknüpfung zwischen Stylesheet und Dokument | 259 | ||
7.1.6 Das Element |
260 | ||
7.1.7 Top-Level-Elemente | 260 | ||
7.1.8 Template-Regeln | 261 | ||
7.1.9 Attributwert-Templates | 263 | ||
7.1.10 Zugriff auf die Quelldaten | 264 | ||
7.2 Ablauf der Transformation | 264 | ||
7.2.1 Startpunkt Wurzelknoten | 265 | ||
7.2.2 Anwendung von Templates | 266 | ||
7.2.3 Rückgriff auf versteckte Templates | 266 | ||
7.2.4 Auflösung von Template-Konflikten | 267 | ||
7.3 Stylesheet mit nur einer Template-Regel | 267 | ||
7.4 Eingebaute Template-Regeln | 268 | ||
7.5 Designalternativen | 269 | ||
7.6 Kontrolle der Knotenverarbeitung | 271 | ||
7.6.1 Benannte Templates | 272 | ||
7.6.2 Template-Auswahl mit XPath-Mustern | 273 | ||
7.6.3 Kontext-Templates | 275 | ||
7.6.4 Template-Modi | 276 | ||
7.7 Datenübernahme aus der Quelldatei | 278 | ||
7.8 Nummerierungen | 279 | ||
7.8.1 Einfach | 279 | ||
7.8.2 Mehrstufig | 280 | ||
7.8.3 Zusammengesetzt | 281 | ||
7.9 Verzweigungen und Wiederholungen | 282 | ||
7.9.1 Bedingte Ausführung von Templates | 282 | ||
7.9.2 Wahlmöglichkeiten | 283 | ||
7.9.3 Schleifen | 285 | ||
7.10 Sortieren und Gruppieren von Quelldaten | 287 | ||
7.10.1 Sortierschlüssel | 287 | ||
7.10.2 Sortierreihenfolge | 289 | ||
7.11 Parameter und Variablen | 290 | ||
7.11.1 Parameterübergabe | 290 | ||
7.11.2 Globale Parameter | 291 | ||
7.11.3 Lokale und globale Variablen | 291 | ||
7.11.4 Eindeutige Namen | 292 | ||
7.11.5 Typische Anwendungen von Variablen in XSLT | 292 | ||
7.11.6 Rekursive Templates | 297 | ||
7.12 Hinzufügen von Elementen und Attributen | 299 | ||
7.12.1 Elemente und Attribute aus vorhandenen Informationen erzeugen | 300 | ||
7.12.2 Attributlisten | 301 | ||
7.12.3 Texte und Leerräume | 302 | ||
7.12.4 Kontrolle der Ausgabe | 302 | ||
7.13 Zusätzliche XSLT-Funktionen | 303 | ||
7.13.1 Zugriff auf mehrere Quelldokumente | 303 | ||
7.13.2 Zahlenformatierung | 305 | ||
7.13.3 Liste der zusätzlichen Funktionen in XSLT | 306 | ||
7.14 Mehrfache Verwendung von Stylesheets | 307 | ||
7.14.1 Stylesheets einfügen | 308 | ||
7.14.2 Stylesheets importieren | 308 | ||
7.15 Übersetzungen zwischen XML-Vokabularen | 309 | ||
7.15.1 Diverse Schemas für gleiche Informationen | 310 | ||
7.15.2 Angleichung durch Transformation | 311 | ||
7.16 Umwandlung von XML in HTML und XHTML | 312 | ||
7.16.1 Datenübernahme und Ergänzungen | 313 | ||
7.16.2 Generieren von CSS-Stylesheets | 315 | ||
7.16.3 Aufbau einer Tabelle | 315 | ||
7.16.4 Transformation in XHTML | 316 | ||
7.16.5 XHTML-Module | 317 | ||
7.16.6 Allgemeine Merkmale von XHTML | 317 | ||
7.16.7 Aufbau eines XHTML-Dokuments | 318 | ||
7.16.8 Automatische Übersetzung | 319 | ||
7.17 XSLT-Editoren | 320 | ||
7.18 Kurzreferenz zu XSLT 1.0 | 321 | ||
7.19 XSLT 2.0 | 330 | ||
7.19.1 Die wichtigsten Neuerungen | 330 | ||
7.19.2 Neue Funktionen in XSLT 2.0 | 336 | ||
7.19.3 Neue Elemente | 337 | ||
Formatierung mit XSL | 341 | ||
8.1 Transformation und Formatierung | 341 | ||
8.2 Formatierungsobjekte | 342 | ||
8.3 Baum aus Bereichen - Areas | 343 | ||
8.4 XSL-Bereichsmodell | 343 | ||
8.4.1 Block-Bereiche und Inline-Bereiche | 344 | ||
8.4.2 XSL und CSS | 345 | ||
8.5 Testumgebung für XSL | 345 | ||
8.6 Aufbau eines XSL-Stylesheets | 347 | ||
8.6.1 Baum der Formatierungsobjekte | 348 | ||
8.6.2 Seitenaufbau | 349 | ||
8.6.3 Seitenfolgen | 350 | ||
8.6.4 Einfügen von Fließtext | 350 | ||
8.6.5 Blockobjekte | 351 | ||
8.7 Verknüpfung mit dem Dokument und Ausgabe | 353 | ||
8.8 Inline-Formatierungsobjekte | 355 | ||
8.9 Ausgabe von Tabellen | 355 | ||
8.9.1 Tabellenstruktur | 355 | ||
8.9.2 Zellinhalte | 356 | ||
8.10 Listen | 358 | ||
8.11 Gesucht: visuelle Editoren | 360 | ||
8.12 Übersicht über die Formatierungsobjekte von XSL | 360 | ||
8.12.1 Übergeordnete Objekte | 361 | ||
8.12.2 Blockformatierung | 362 | ||
8.12.3 Inline-Formatierung | 363 | ||
8.12.4 Tabellenformatierung | 364 | ||
8.12.5 Listenformatierung | 364 | ||
8.12.6 Formatierung für Verknüpfungen | 365 | ||
8.12.7 Out-of-Line-Formatierung | 366 | ||
8.12.8 Andere Objekte | 366 | ||
Abfragen mit XQuery | 367 | ||
9.1 Datenmodell und Verfahren | 367 | ||
9.1.1 Zur Syntax | 369 | ||
9.1.2 Instanzen des Datenmodells | 370 | ||
9.1.3 W3C-Empfehlungen zu XQuery | 372 | ||
9.2 Abfragepraxis | 373 | ||
9.2.1 XQuery-Modul | 373 | ||
9.2.2 Zugriff über das Web | 375 | ||
9.3 FLWOR-Ausdrücke | 375 | ||
9.3.1 Variablen in XQuery | 379 | ||
9.3.2 Steuerung der Ausgabe | 379 | ||
9.4 Fortgeschrittene Optionen | 380 | ||
9.4.1 Auswertung zweier verbundener Dokumente | 381 | ||
9.4.2 Kollektionen auswerten | 382 | ||
9.4.3 Benutzerdefinierte Funktionen | 382 | ||
9.5 Implementierungen | 384 | ||
Einstieg in XForms | 387 | ||
10.1 XForms - Empfehlung und Implementierungen | 388 | ||
10.2 Testübung | 391 | ||
10.3 Aufbau des Datenmodells | 393 | ||
10.4 Steuerelemente | 398 | ||
10.4.1 Texteingabe | 398 | ||
10.4.2 Das Element submit | 399 | ||
10.4.3 Textbereiche | 400 | ||
10.4.4 Radiobuttons | 401 | ||
10.4.5 Checkboxen | 401 | ||
10.4.6 Optionengruppen | 402 | ||
10.4.7 Schaltflächen | 403 | ||
10.4.8 Switch | 404 | ||
10.4.9 Steuerung der Steuerelemente | 406 | ||
10.5 Datenhandhabung | 406 | ||
10.5.1 Wiederholte Elemente | 407 | ||
10.5.2 Einfügen und Löschen | 408 | ||
10.5.3 Übertragungswege | 409 | ||
10.5.4 Mehrere Formulare in einem Dokument | 411 | ||
10.5.5 Datenbindung mit bind | 412 | ||
10.5.6 Werte übernehmen | 412 | ||
10.6 Ereignisse und Aktionen | 413 | ||
10.7 Kurzreferenz XForms 1.1 | 416 | ||
10.7.1 Model-Elemente | 416 | ||
10.7.2 Kern-Steuerelemente | 416 | ||
10.7.3 Steuerelement-Container | 417 | ||
10.7.4 Elemente in Steuerelementen | 417 | ||
10.7.5 Aktionen | 418 | ||
10.7.6 Ereignisattribute | 419 | ||
10.7.7 XForms-Ereignisse | 419 | ||
Programmierschnittstellen für XML | 423 | ||
11.1 Abstrakte Schnittstellen: DOM und SAX | 423 | ||
11.2 Document Object Model (DOM) | 425 | ||
11.2.1 DOM Level | 426 | ||
11.2.2 Objekte, Schnittstellen, Knoten und Knotentypen | 427 | ||
11.2.3 Die allgemeine Node-Schnittstelle | 427 | ||
11.2.4 Knotentypen und ihre Besonderheiten | 429 | ||
11.2.5 Zusätzliche Schnittstellen | 430 | ||
11.2.6 Zugriff über Namen | 431 | ||
11.2.7 Verwandtschaften | 432 | ||
11.2.8 Das Dokument als DOM-Baum | 432 | ||
11.2.9 Document - die Mutter aller Knoten | 434 | ||
11.2.10 Elementknoten | 436 | ||
11.2.11 Textknoten | 436 | ||
11.2.12 Attributknoten sind anders | 436 | ||
11.2.13 Dokumentfragmente | 437 | ||
11.2.14 Fehlerbehandlung | 437 | ||
11.3 DOM-Implementierungen | 437 | ||
11.4 Die MSXML-Implementierung von DOM | 439 | ||
11.4.1 Schnittstellen in MSXML | 439 | ||
11.4.2 Erweiterungen für Laden und Speichern | 442 | ||
11.4.3 Erweiterungen der Node-Schnittstelle | 442 | ||
11.5 Fingerübungen mit DOM | 445 | ||
11.5.1 Daten eines XML-Dokuments abfragen | 446 | ||
11.5.2 Zugriff über Elementnamen | 451 | ||
11.5.3 Zugriff auf Attribute | 452 | ||
11.5.4 Abfrage über einen Attributwert | 454 | ||
11.5.5 Fehlerbehandlung | 455 | ||
11.5.6 Neue Knoten einfügen | 456 | ||
11.5.7 Neue Elementknoten | 459 | ||
11.5.8 Neue Attributknoten | 460 | ||
11.5.9 Unterelementknoten und Textknoten | 460 | ||
11.5.10 Request und Response | 461 | ||
11.6 Alternative zu DOM: Simple API for XML (SAX) | 463 | ||
11.6.1 Vergesslicher Beobachter am Datenstrom | 463 | ||
11.6.2 SAX2 unter Java | 463 | ||
11.6.3 Der Kern der SAX-Schnittstellen | 465 | ||
11.6.4 ContentHandler | 467 | ||
11.6.5 Attribute | 468 | ||
11.6.6 SAX2-Erweiterungen | 469 | ||
11.6.7 Hilfsklassen | 470 | ||
11.6.8 SAXParser und XMLReader | 472 | ||
11.6.9 Konfigurieren des Parsers | 473 | ||
11.6.10 Kleine Lagerauswertung mit SAX | 475 | ||
11.6.11 Aufruf des Parsers | 478 | ||
11.6.12 Fehlerbehandlung | 479 | ||
11.6.13 SAX-Beispiel 1 | 481 | ||
11.6.14 Beispiel 2 | 484 | ||
11.6.15 SAX und DOM | 486 | ||
11.7 Arbeit mit XML-Klassen in Visual Basic | 487 | ||
11.7.1 XML-Architektur im .NET Framework | 487 | ||
11.7.2 Lesen von XML-Daten | 489 | ||
11.7.3 XMLReader im Vergleich zum SAX-Reader | 490 | ||
11.7.4 Arbeitsweise von XmlReader | 490 | ||
11.7.5 XML-Dokument mit XMLTextReader auswerten | 491 | ||
11.7.6 Lesen von XML-Fragmenten | 494 | ||
11.7.7 Validierung anhand von XML-Schemas oder DTDs | 496 | ||
11.7.8 Schreiben von XML-Daten | 498 | ||
11.7.9 XmlTextWriter | 502 | ||
11.7.10 XML-Serialisierung und -Deserialisierung | 506 | ||
11.8 Zugriff auf XML-Daten mit LINQ to XML | 512 | ||
11.8.1 LINQ to XML | 512 | ||
11.8.2 X-Klassen | 512 | ||
11.8.3 Functional Construction | 513 | ||
11.8.4 XML-Literale | 514 | ||
11.8.5 Schreiben und Laden von XML-Dateien | 517 | ||
Kommunikation zwischen Anwendungen | 519 | ||
12.1 XML-Webdienste | 520 | ||
12.1.1 Gemeinsame Nutzung von Komponenten | 520 | ||
12.1.2 Offen gelegte Schnittstellen | 520 | ||
12.1.3 Endpunkte | 520 | ||
12.2 Beispiel für einen Webdienst | 521 | ||
12.2.1 Webdienst mit ASP.NET | 521 | ||
12.2.2 Einrichten eines Webdienstes | 522 | ||
12.2.3 Webmethoden | 524 | ||
12.2.4 Test des Webdienstes | 524 | ||
12.2.5 Aufruf einer Methode | 526 | ||
12.2.6 Nutzen des Webdienstes über eine Anwendung | 526 | ||
12.2.7 Einfügen des Verweises auf den Webdienst | 527 | ||
12.2.8 Proxyklasse | 528 | ||
12.3 Nachrichten mit SOAP | 529 | ||
12.3.1 Ein Rahmen für Nachrichten | 529 | ||
12.3.2 Grundform einer SOAP-Nachricht | 530 | ||
12.4 Dienstbeschreibung | 533 | ||
12.4.1 Das WSDL-Vokabular | 533 | ||
12.4.2 WSDL unter ASP.NET | 534 | ||
12.5 Webdienste registrieren und finden | 536 | ||
12.5.1 UDDI | 537 | ||
12.5.2 Disco | 537 | ||
12.5.3 Safety first! | 538 | ||
XML in Office-Anwendungen | 539 | ||
13.1 XML in Office 2013 | 540 | ||
13.1.1 Der Standard Office Open XML | 540 | ||
13.1.2 Open XML für Excel | 542 | ||
13.1.3 Open XML für Word | 545 | ||
13.2 Die Alternative OpenDocument | 546 | ||
13.3 Einsatz benutzerdefinierter Schemas in Office 2013 | 550 | ||
13.3.1 Zuordnen eines Schemas | 552 | ||
13.3.2 Optionen beim Öffnen von XML-Dokumenten | 553 | ||
13.3.3 Daten als XML-Tabelle übernehmen | 553 | ||
13.3.4 XML-Tabellenbereiche | 555 | ||
13.3.5 XML-Zuordnungen | 557 | ||
13.3.6 Datenaktualisierung | 557 | ||
13.3.7 Öffnen als schreibgeschützte Arbeitsmappe | 558 | ||
13.3.8 Verwenden von XSLT-Stylesheets | 559 | ||
13.3.9 Datenquelle und Tabelle manuell verknüpfen | 561 | ||
13.3.10 XmlMap-Objekte | 564 | ||
13.3.11 Tabelle auf Basis eines eigenen Schemas | 565 | ||
13.3.12 Fehlererkennung | 565 | ||
13.3.13 XML-Dokumente erzeugen | 566 | ||
13.3.14 Schema-Einschränkungen | 566 | ||
13.4 XML-basierte Formulare mit InfoPath 2013 | 567 | ||
13.4.1 Werkzeug für dynamische Formulare | 567 | ||
13.4.2 Fingerübung mit InfoPath | 568 | ||
13.4.3 Formular mit eigener Datenstruktur | 568 | ||
13.4.4 Formularentwurf »from Scratch« | 572 | ||
13.4.5 XPath-Ausdrücke für Berechnungen | 573 | ||
13.4.6 Schema-Limits | 573 | ||
13.4.7 Validierung per Schema | 573 | ||
13.4.8 Zusatzprüfungen | 574 | ||
13.4.9 Formularansichten | 574 | ||
13.4.10 Veröffentlichung von Formularen | 575 | ||
13.4.11 Vorlagenarchiv | 575 | ||
13.4.12 Formulare ausfüllen | 578 | ||
13.4.13 Speichern der eingegebenen Daten | 579 | ||
13.4.14 Austausch mit anderen Anwendungen | 580 | ||
Mapping - von XML oder nach XML | 581 | ||
14.1 Codegenerierung für Transformationen | 581 | ||
14.1.1 Oberfläche und Dateiformate | 582 | ||
14.1.2 Funktionsbibliotheken | 584 | ||
14.1.3 Von Schema zu Schema | 585 | ||
14.2 Datenausgabe | 587 | ||
14.3 Stylesheet-Generierung | 588 | ||
14.4 Eigene Funktionen | 589 | ||
14.5 Mapping von Datenbankdaten | 590 | ||
14.6 Mapping für Excel-Tabellen | 593 | ||
14.7 EDIFACT und ANSI X12 | 594 | ||
Publizieren mit EPUB | 597 | ||
15.1 Electronic Publication | 597 | ||
15.1.1 Content Documents | 598 | ||
15.1.2 Paket-Format | 601 | ||
15.1.3 Open Container Format | 604 | ||
15.2 Tools für EPUB | 606 | ||
15.3 Autorentools | 608 | ||
Ausblick auf HTML5 und XHTML | 613 | ||
16.1 Unerfüllte Erwartungen | 613 | ||
16.2 Die Wiederbelebung von HTML | 616 | ||
16.3 DOCTYPE und Ausführungsmodus | 617 | ||
16.4 HTML vs XHTML | 618 | ||
16.5 Aussichten | 619 | ||
16.6 XML-Inhalte im Browser | 620 | ||
16.6.1 Die Wiederbelebung von SVG | 620 | ||
16.6.2 Dynamische Illustrationen | 621 | ||
16.7 Freiwillige gesucht | 627 | ||
Glossar | 629 | ||
Webressourcen | 639 | ||
B.1 Webseiten für Entwickler | 639 | ||
B.2 Liste von Empfehlungen des W3C | 642 | ||
B.3 Liste von wichtigen Namensräumen des W3C | 645 |