Einstieg in XML: Grundlagen, Praxis, Referenzen, 4. Auflage
3836210746, 9783836210744
389
61
7MB
German
Pages 577
Year 2007
Report DMCA / Copyright
DOWNLOAD PDF FILE
Table of contents :
Buchcover......Page 1
Einstieg in XML: Grundlagen, Praxis, Referenzen, 4. Auflage......Page 2
Liebe Leserin, lieber Leser......Page 3
Auf einen Blick......Page 4
Impressum......Page 5
Inhalt......Page 6
Vorwort......Page 20
1.1.1 Ein erstes XML-Dokument......Page 22
1.1.2 Standardausgabe im Webbrowser......Page 23
1.1.3 Wohlgeformtheit ist ein Muss......Page 24
1.1.4 Gültige Dokumente per DTD oder Schema......Page 25
1.1.5 Formatierte Datenausgabe......Page 27
1.1.6 Datenausgabe durch ein Skript......Page 28
1.2.1 Unabhängigkeit von Anwendungen und Plattformen......Page 30
1.2.2 SGML HTML XML......Page 31
1.2.4 Inhaltsbeschreibungssprache......Page 32
1.2.7 Globale Sprache für den Datenaustausch......Page 33
1.2.8 Interoperabilität......Page 34
1.3 Übersicht über die Sprachfamilie XML......Page 35
1.3.2 Ergänzende Spezifikationen......Page 36
1.3.4 XML-Anwendungen......Page 37
1.4.1 Spezialeditoren für XML......Page 38
1.4.2 Schemaund Stylesheet-Designer......Page 40
1.4.4 XML-Dokumente über Standardanwendungen......Page 41
1.4.5 Parser und andere Prozessoren......Page 42
1.5.1 XML-Vokabulare......Page 43
1.5.2 Datenaustausch zwischen Anwendungen......Page 45
1.5.3 Verteilte Anwendungen und Webdienste......Page 46
2.1.1 Entitäten und Informationseinheiten......Page 48
2.1.2 Parsed und unparsed......Page 49
2.1.3 Die logische Sicht auf die Daten......Page 50
2.1.4 Der Prolog......Page 52
2.1.5 Zeichenkodierung......Page 53
2.1.6 Standalone or not......Page 54
2.1.8 Start-Tags und End-Tags......Page 55
2.2 Die Regeln der Wohlgeformtheit......Page 61
2.4 Reservierte Attribute......Page 62
2.4.2 Leerraumbehandlung......Page 63
2.5.1 Eingebaute und eigene Entitäten......Page 64
2.6 CDATA-Sections......Page 65
2.8 Verarbeitungsanweisungen......Page 66
2.9.1 Das Problem der Mehrdeutigkeit......Page 67
2.9.2 Eindeutigkeit durch URIs......Page 68
2.9.4 Namensraumdeklaration und QNamen......Page 69
2.9.5 Einsatz mehrerer Namensräume......Page 70
2.9.6 XML Version 1.1......Page 71
3.1.1 Datenmodelle......Page 74
3.1.3 Dokumenttyp-Definition – DTD......Page 75
3.1.5 Vokabulare......Page 76
3.3 DTD oder Schema?......Page 77
3.4.1 Interne DTD......Page 78
3.5 Deklarationen für gültige Komponenten......Page 80
3.5.2 Syntax der Dokumenttyp-Deklaration......Page 81
3.5.4 Beispiel einer DTD für ein Kursprogramm......Page 82
3.5.5 Inhaltsalternativen......Page 85
3.5.7 Gemischter Inhalt......Page 86
3.5.8 Inhaltsmodell und Reihenfolge......Page 87
3.5.10 Die Hierarchie der Elemente......Page 88
3.6 Dokumentinstanz......Page 89
3.7.1 Aufbau einer Attributliste......Page 90
3.7.2 Attributtypen und Vorgaberegelungen......Page 91
3.7.3 Verwendung der Attributlisten......Page 92
3.9 Verwendung von Entitäten......Page 94
3.9.1 Interne Entitäten......Page 95
3.9.2 Externe Entitäten......Page 96
3.9.3 Notationen und ungeparste Entitäten......Page 97
3.9.5 Interne Parameter-Entitäten......Page 98
3.10 Formen der DTD-Deklaration......Page 99
3.10.2 Kombination von externen und internen DTDs......Page 100
3.10.3 Bedingte Abschnitte in externen DTDs......Page 101
3.11.1 Das grafische Format SVG......Page 102
3.11.2 SMIL......Page 106
4.1.1 Defizite von DTDs......Page 112
4.1.2 Anforderungen an XML Schema......Page 113
4.2 Erster Entwurf eines Schemas......Page 114
4.2.1 Verknüpfung von Schema und Dokument......Page 117
4.2.3 Elemente und Datentypen......Page 118
4.2.4 Komplexe Typen mit und ohne Namen......Page 119
4.2.7 Wieviel wovon?......Page 120
4.3.2 Die Komponenten eines XML Schemas......Page 121
4.4 Datentypen......Page 122
4.4.2 Inhaltsmodelle und Partikel......Page 123
4.4.3 Erweiterbarkeit durch Wildcards......Page 124
4.4.4 Einfache Typen......Page 125
4.4.6 Vorgegebene und benutzerdefinierte Datentypen......Page 126
4.4.7 XML Schema – Datentypen – Kurzreferenz......Page 127
4.4.8 Werteraum, lexikalischer Raum und Facetten......Page 129
4.4.9 Ableitung durch Einschränkung......Page 130
4.4.10 Muster und reguläre Ausdrücke......Page 131
4.4.12 Listen und Vereinigungen......Page 133
4.4.13 Facetten der verschiedenen Datentypen......Page 134
4.5 Definition der Struktur des Dokuments......Page 135
4.5.1 Deklaration von Elementen......Page 136
4.5.2 Attribute......Page 137
4.5.3 Elementvarianten......Page 138
4.5.4 Namensräume in XML Schema......Page 139
4.5.5 Umgang mit lokalen Elementen und Attributen......Page 140
4.5.6 Besonderheiten globaler Elemente und Attribute......Page 144
4.6 Häufigkeitsbestimmungen......Page 145
4.7 Default-Werte für Elemente und Attribute......Page 146
4.8 Kompositoren......Page 147
4.8.2 ......Page 148
4.9 Arbeit mit benannten Modellgruppen......Page 149
4.10 Definition von Attributgruppen......Page 151
4.11.1 Eindeutigkeit......Page 152
4.11.2 Bezüge auf Schlüsselelemente......Page 153
4.12 Kommentare......Page 155
4.13.1 Erweiterungen komplexer Elemente......Page 156
4.13.2 Einschränkung komplexer Elemente......Page 157
4.13.3 Steuerung der Ableitung von Datentypen......Page 158
4.13.4 Abstraktionen......Page 159
4.13.5 Gemischtwaren......Page 160
4.13.6 Leere oder Nichts......Page 161
4.13.7 Wiederverwendbarkeit......Page 162
4.14.1 Babuschka-Modelle......Page 163
4.14.2 Stufenmodelle......Page 165
4.15 Übernahme von Schema-Definitionen......Page 166
4.15.1 Schemas inkludieren......Page 167
4.15.2 Schemas importieren......Page 168
4.15.3 Zuordnung von Schemas in XML-Dokumenten......Page 173
4.16 XML Schema – Kurzreferenz......Page 174
5.1 Datenauswahl mit XPath......Page 184
5.1.2 Vom Dokument zum Knotenbaum......Page 185
5.1.3 Dokumentreihenfolge......Page 187
5.1.4 Knotentypen......Page 188
5.1.5 Lokalisierungspfade......Page 189
5.1.7 Lokalisierungsstufen und Achsen......Page 191
5.1.8 Knotentest......Page 194
5.1.9 Filtern mit Prädikaten......Page 195
5.1.10 Test von XPath-Ausdrücken......Page 196
5.1.11 XPath-Funktionen......Page 197
5.2 Überblick über die Neuerungen in XPath 2.0......Page 201
5.2.1 Erweitertes Datenmodell......Page 202
5.2.2 Die erweiterte Funktionenbibliothek......Page 205
5.3.1 Mehr als Anker in HTML......Page 210
5.3.2 Beziehungen zwischen Ressourcen......Page 211
5.3.3 Link-Typen und andere Attribute......Page 212
5.3.5 Beispiel für einen Link vom Typ »extended«......Page 214
5.4 XBase......Page 216
5.5.1 URIs und Fragmentbezeichner......Page 217
5.5.3 Das Schema element()......Page 218
5.5.5 Punkte und Bereiche......Page 219
5.5.6 Verarbeitung der Pointer......Page 221
6 Datenausgabe mit CSS......Page 222
6.2 Arbeitsweise eines Stylesheets......Page 224
6.3 Anlegen von Stylesheets......Page 225
6.4 Vererben und Überschreiben......Page 228
6.5 Selektortypen......Page 229
6.7 Kontextund Pseudo-Selektoren......Page 230
6.8 Schriftauswahl und Textformatierung......Page 231
6.8.3 Prozentangaben......Page 232
6.10 Blöcke, Ränder, Rahmen, Füllung und Inhalt......Page 233
6.11 Stylesheet-Kaskaden......Page 235
6.13 Zuordnung zu XML-Dokumenten......Page 236
6.14 Schwächen von CSS......Page 237
6.15.1 Datenbindung an eine Tabelle......Page 238
6.15.2 Das Element ......Page 239
7.1.1 Bedarf für Transformationen......Page 242
7.1.2 Grundlegende Merkmale von XSLT......Page 243
7.1.3 XSLT-Prozessoren......Page 244
7.1.4 Die Elemente und Attribute von XSLT......Page 246
7.1.5 Verknüpfung zwischen Stylesheet und Dokument......Page 248
7.1.6 Das Element ......Page 249
7.1.7 Top-Level-Elemente......Page 250
7.1.8 Template-Regeln......Page 251
7.1.9 Attributwert-Templates......Page 252
7.2 Ablauf der Transformation......Page 254
7.2.2 Anwendung von Templates......Page 255
7.2.4 Auflösung von Template-Konflikten......Page 256
7.3 Stylesheet mit nur einer Template-Regel......Page 257
7.4 Eingebaute Template-Regeln......Page 258
7.5 Design-Alternativen......Page 259
7.6 Kontrolle der Knotenverarbeitung......Page 261
7.6.1 Benannte Templates......Page 262
7.6.2 Template-Auswahl mit XPath-Mustern......Page 263
7.6.4 Template-Modi......Page 265
7.7 Datenübernahme aus der Quelldatei......Page 266
7.8.1 Einfach......Page 268
7.8.2 Mehrstufig......Page 269
7.8.3 Zusammengesetzt......Page 270
7.9 Bedingte Ausführung von Templates......Page 271
7.9.1 Wahlmöglichkeiten......Page 272
7.9.2 Schleifen......Page 273
7.10.1 Sortierschlüssel......Page 276
7.10.2 Sortierreihenfolge......Page 277
7.11.1 Parameterübergabe......Page 278
7.11.2 Globale Parameter......Page 279
7.11.3 Lokale und globale Variable......Page 280
7.11.5 Typische Anwendungen von Variablen in XSLT......Page 281
7.11.6 Rekursive Templates......Page 286
7.12.1 Elemente und Attribute aus vorhandenen Informationen erzeugen......Page 288
7.12.3 Texte und Leerräume......Page 290
7.12.4 Kontrolle der Ausgabe......Page 291
7.13.1 Zugriff auf mehrere Quelldokumente......Page 292
7.13.3 Liste der zusätzlichen Funktionen in XSLT......Page 294
7.14 Mehrfache Verwendung von Stylesheets......Page 295
7.14.2 Stylesheets importieren......Page 296
7.15 Übersetzungen zwischen XML-Vokabularen......Page 297
7.15.1 Diverse Schemas für gleiche Informationen......Page 298
7.15.2 Angleichung durch Transformation......Page 299
7.16 Umwandlung von XML in HTML und XHTML......Page 300
7.16.1 Datenübernahme und Ergänzungen......Page 301
7.16.2 Generieren von CSS-Stylesheets......Page 302
7.16.3 Aufbau einer Tabelle......Page 303
7.16.6 Allgemeine Merkmale von XHTML......Page 304
7.16.7 Aufbau eines XHTML-Dokuments......Page 305
7.16.8 Automatische Übersetzung......Page 306
7.17 XSLT-Editoren......Page 308
7.18 Kurzreferenz zu XSLT......Page 310
7.19.1 Die wichtigsten Neuerungen......Page 318
7.19.3 Neue Elemente......Page 324
8.1 Transformation und Formatierung......Page 330
8.2 Formatierungsobjekte......Page 331
8.3 Baum aus Bereichen – Areas......Page 332
8.4.1 Block-Bereiche und Inline-Bereiche......Page 333
8.5 Testumgebung für XSL......Page 334
8.6.1 Baum der Formatierungsobjekte......Page 336
8.6.2 Seitenaufbau......Page 337
8.6.4 Einfügen von Fließtext......Page 338
8.6.5 Blockobjekte......Page 339
8.7 Verknüpfung mit dem Dokument und Ausgabe......Page 341
8.9.1 Tabellenstruktur......Page 343
8.9.2 Zellinhalte......Page 344
8.10 Listen......Page 346
8.11 Gesucht: visuelle Editoren......Page 348
8.12.1 Übergeordnete Objekte......Page 349
8.12.3 Inline-Formatierung......Page 350
8.12.4 Tabellenformatierung......Page 351
8.12.6 Formatierung für Verknüpfungen......Page 352
8.12.8 Andere Objekte......Page 353
9.1 Abstrakte Schnittstellen: DOM und SAX......Page 354
9.2 Document Object Model (DOM)......Page 356
9.2.2 Objekte, Schnittstellen, Knoten und Knotentypen......Page 357
9.2.3 Die allgemeine Node-Schnittstelle......Page 358
9.2.4 Knotentypen und ihre Besonderheiten......Page 360
9.2.6 Zugriff über Namen......Page 361
9.2.7 Verwandtschaften......Page 362
9.2.8 Das Dokument als DOM-Baum......Page 363
9.2.9 Document – die Mutter aller Knoten......Page 364
9.2.12 Besonderheiten des Attributknotens......Page 366
9.2.14 Fehlerbehandlung......Page 367
9.3 DOM und DOM-Implementierungen......Page 368
9.4.1 Schnittstellen in MSXML......Page 369
9.4.2 Erweiterungen für Laden und Speichern......Page 371
9.4.3 Erweiterungen der Node-Schnittstelle......Page 372
9.5 Fingerübungen mit DOM......Page 373
9.5.1 Daten eines XML-Dokuments abfragen......Page 374
9.5.2 Zugriff über Elementnamen......Page 379
9.5.3 Zugriff auf Attribute......Page 380
9.5.4 Abfrage über einen Attributwert......Page 382
9.5.5 Fehlerbehandlung......Page 383
9.5.6 Neue Knoten einfügen......Page 384
9.5.8 Neue Attributknoten......Page 387
9.5.9 Unterelementknoten und Textknoten......Page 388
9.5.10 Request und Response......Page 389
9.6.1 Vergesslicher Beobachter am Datenstrom......Page 390
9.6.2 SAX2 unter Java......Page 391
9.6.3 Der Kern der SAX-Schnittstellen......Page 392
9.6.4 ContentHandler......Page 394
9.6.5 Attribute......Page 395
9.6.6 SAX2-Erweiterungen......Page 396
9.6.7 Hilfsklassen......Page 397
9.6.8 SAXParser und XMLReader......Page 398
9.6.9 Konfigurieren des Parsers......Page 399
9.6.10 Kleine Lagerauswertung mit SAX......Page 401
9.6.11 Aufruf des Parsers......Page 404
9.6.12 Fehlerbehandlung......Page 405
9.6.13 SAX-Beispiel 1......Page 407
9.6.14 Beispiel 2......Page 410
9.6.15 SAX + DOM......Page 411
9.7.1 Die XML-Architektur im .NET Framework im Überblick......Page 412
9.7.3 XMLReader im Vergleich zum SAX-Reader......Page 414
9.7.5 XML-Dokument mit XMLTextReader auswerten......Page 415
9.7.6 Lesen von XML-Fragmenten......Page 420
9.7.7 Validierung anhand von XML-Schemas oder DTDs......Page 421
9.7.8 Schreiben von XML-Daten......Page 423
9.7.9 XmlTextWriter......Page 427
9.7.10 XML-Serialisierung und -Deserialisierung......Page 431
10 Kommunikation zwischen Anwendungen......Page 438
10.1.3 Endpunkte......Page 439
10.2.1 Webdienst mit ASP.NET......Page 440
10.2.2 Einrichten eines Webdienstes......Page 441
10.2.3 Webmethoden......Page 444
10.2.4 Test des Webdienstes......Page 445
10.2.5 Aufruf einer Methode......Page 446
10.2.6 Nutzen des Webdienstes über eine Anwendung......Page 447
10.2.7 Einfügen des Verweises auf den Webdienst......Page 448
10.2.8 Proxyklasse......Page 449
10.3.1 Ein Rahmen für Nachrichten......Page 451
10.3.2 Grundform einer SOAP-Nachricht......Page 452
10.4.2 WSDL unter ASP.NET......Page 455
10.5.1 UDDI......Page 458
10.5.3 Safety first!......Page 460
11 XML in Office-Anwendungen......Page 462
11.1.1 Der neue Standard Open XML......Page 463
11.1.2 Open XML für Excel......Page 464
11.1.3 Open XML in Word......Page 467
11.2 Die Alternative ODF......Page 469
11.3 Einsatz benutzerdefinierter Schemas in Office 2007......Page 472
11.5 XML-Technologien in Word 2003......Page 473
11.5.1 XML-Dokumente in Word einlesen......Page 474
11.5.2 Öffnen mit XSLT-Stylesheets......Page 475
11.5.4 Transformationen beim Speichern......Page 476
11.5.7 Schema für eine Teilnehmerliste......Page 477
11.5.8 Zuordnen des Schemas......Page 479
11.5.9 Zuordnen von XML-Elementen zu Textteilen......Page 482
11.5.10 Eingabe von Attributwerten......Page 484
11.5.11 Speicheroptionen für XML-Daten......Page 485
11.5.12 WordprocessingML......Page 487
11.5.13 Word-Dokument als Elementbaum......Page 488
11.5.14 Transformationen mit XSLT-Stylesheets......Page 490
11.5.15 XML-Lösungen in Word 2003 programmieren......Page 492
11.5.16 VBA-gesteuertes Zuordnen eines Schemas......Page 494
11.5.17 Aktivieren von Stylesheets......Page 497
11.5.18 Abfrage von XML-Elementen......Page 500
11.6 Excel 2003 und XML......Page 501
11.6.1 Einlesen von XML-Daten......Page 502
11.6.2 Daten als XML-Liste übernehmen......Page 503
11.6.3 XML-Listenbereiche......Page 506
11.6.4 XML-Zuordnungen......Page 507
11.6.5 Datenaktualisierung......Page 508
11.6.7 Öffnen als schreibgeschützte Arbeitsmappe......Page 509
11.6.8 Verwenden von XSLT-Stylesheets......Page 510
11.6.9 Datenquelle und Tabelle manuell verknüpfen......Page 512
11.6.10 XmlMap-Objekte......Page 516
11.6.12 Fehlererkennung......Page 517
11.6.13 XML-Dokumente erzeugen......Page 518
11.6.15 XML-Kalkulationstabellen......Page 519
11.6.16 Programmierter Zugriff auf XML-Objekte......Page 523
11.6.18 XmlDataQuery......Page 527
11.6.19 XPath-Objekt abfragen......Page 528
11.6.20 Zuordnen eines XML-Schemas......Page 529
11.6.22 XMLMaps exportieren......Page 532
11.7 XML-basierte Formulare mit InfoPath 2003......Page 533
11.7.1 Werkzeug für dynamische Formulare......Page 534
11.7.2 Fingerübung mit InfoPath......Page 535
11.7.3 Formular mit eigener Datenstruktur......Page 536
11.7.4 Formularentwurf vom Scratch......Page 540
11.7.6 Schema-Limits......Page 541
11.7.9 Formularsichten......Page 542
11.7.11 Das Template-Archiv......Page 543
11.7.12 Formulare ausfüllen......Page 546
11.7.13 Speichern der eingegebenen Daten......Page 547
11.7.14 Austausch mit anderen Anwendungen......Page 548
Anhang......Page 550
A.1 Webseiten für Entwickler......Page 552
A.2 Liste von Empfehlungen des W3C......Page 554
A.3 Liste von wichtigen Namensräumen des W3C......Page 556
B Glossar......Page 558
C......Page 568
E......Page 569
F......Page 570
I......Page 571
P......Page 572
W......Page 573
X......Page 574
Z......Page 577