lehrerbibliothek.deDatenschutzerklärung
XML ENT-PACKT
XML
ENT-PACKT




Alfred Nussbaumer, Alfred Mistlbacher

mitp-Verlag
EAN: 9783826608841 (ISBN: 3-8266-0884-4)
912 Seiten, paperback, 18 x 24cm, 2002

EUR 39,95
alle Angaben ohne Gewähr

Umschlagtext
Dieses Buch bietet einen umfassenden Überblick über die Grundlagen von XML. Alle Elemente und Attribute von XML, CSS, XSL, XSLT und einiger wichtiger Anwendungen werden in zahlreichen Beispielen erläutert. Die Referenzen zu diesen Themen machen dieses Werk zu einem unentbehrlichen

Ratgeber für XML-Einsteiger und erfahrene Programmierer, die sich rasch in das Thema XML einarbeiten müssen.



XML Ent-Packt gliedert sich in fünf Teile:



Teil l stellt alle grundlegenden Konzepte und Techniken von XML vor, wobei sich das erste Kapitel an alle richtet, die wirklich neu einsteigen.

Teil II beschreibt die Adressierung von Ressourcen.

Der umfangreiche Teil III befasst sich mit der Darstellung von XML-Daten: CSS für den

Einsatz bei der Ausgabe von XML-Daten auf Webseiten, XSL-FO für das Erstellen hochwertiger Druckvorlagen und XSLT, die Transformation von XML-Daten in verschiedene Ausgabeformate werden detailliert an zahlreichen Beispielen erläutert.

Teil IV beschreibt zwei wichtige Programmierschnittstellen zu XML, DOM und SAX.

Teil V präsentiert eine Reihe von XML-Anwendungen. U.a. werden XHTML, WML,

MathML, SVG, RDF und VoiceXML in Beispielen und Übersichten behandelt.



Dem plattormunabhängigen Charakter von XML folgend basieren die Beispiele in diesem Buch alternierend auf Windows oder Linux. Installationshinweise und Tipps zur Konfiguration sind für beide Betriebssysteme enthalten.



Aus dem Inhalt:

• XML-Elemente und -Attribute, Struktur eines XML-Dokumentes.

• Aufbau einer DTD

• XML-Dateien auf Wohlgeformtheit und Gültigkeit überprüfen

• XML Schema-Datentypen und Strukturen

• Adressierung von Ressourcen mit XLink, XPath und XPointer; Verwendung von XPath-Funktionen zur Bildung von Knotenmengen

• Transformationen von XML-Daten nach HTML, XSL-FO, LaTeX, SVG, WML, XHTML Basic und VoiceXML

• Eine ausführliche Darstellung aller XSL-Formatierungsobjekte und zahlreiche Beispiele zum Einsatz der vielfältigen Formatierungseigenschaften

• Einführung und Beispiele zu DOM und SAX

• XML-Daten mit PHP clientseitig oder auf dem Webserver verarbeiten

• Übersicht und Einführung in verwandte Themen: XHTML, WML, MathML, SVG, RDF und VoiceXML
Inhaltsverzeichnis
Teil 1 Elementare Techniken 19

Kapitel 1: Einführung in XML 21
XML-Elemente 22
Attribute 26
Cascading Style Sheets (CSS) 28
Namensräume 31
Document Type Definition (DTD) 35
XSL Transformation (XSLT) 39
Baumstruktur - Daten serialisieren 48
XML-Anwendungen 49
XML-Editoren 50
Turbo XML (Extensibility) 50
XML Spy 53

Kapitel 2: XML-Syntax 59
Grundlegendes 59
Elemente 61
Leere Elemente 65
XML-Namen 65
Zeichencodierung 66
Ausgabe von XML-Daten mit Stylesheets 69
Kommentare und CDATA-Blöcke 71
Zeichenreferenzen 73
Interne Entities 75
Vordefinierte interne Entities 77
Externe analysierte Entities 77
Attribute 79
Attribute versus Kindelemente 80
Vordefinierte Attribute 81
xml:space 81
xml:lang 82
Gültige XML-Dokumente 83
Interne DTD 83
Externe DTD 84
Die XML-Deklaration 85
Regeln für wohlgeformte XML-Dokumente 85
Überblick 86

Kapitel 3: DTD-Syntax 89
Grundlegendes 89
Die Dokumenttyp-Deklaration 90
Die Elementtyp-Deklaration 94
Leere Elemente 94
Elemente mit beliebigem Inhalt 95
Elemente mit Inhaltsmodell (content model) 96
Elemente mit Text 100
Elemente mit gemischtem Inhalt 100
Die Attributlisten-Deklaration 101
Allgemeine Attributtypen 102
CDATA 102
Aufzählung 103
NMTOKEN, NMTOKENS 104
Attributtypen für Verweise in Dokumenten 106
ID 106
IDREF 107
IDREFS 107
Vordefinierte Attribute 108
xml:space 108
xml:lang 108
Parameter-Entities 111
Externe, nicht analysierte Entities 112
Bedingte Abschnitte 114
Regeln für die Gültigkeit von XML-Dokumenten 116
Überblick 117

Kapitel 4: Namensräume 119
Problematik 119
Deklaration von Namensräumen 123
Gültigkeitsbereich von Namensräumen 126
Default-Namensräume 127
Namensräume in der Praxis 131
MathML 131
XHTML 132
SVG 133
Namensräume in StarOffice 134
Der HTML-Namensraum 136

Kapitel 5: XML Schema 145
Einführende Beispiele 146
Beispiel: Ein einfaches Textdokument verfassen 146
Beispiel: Ein komplexes Dokument zusammensetzen 150
Datentypen 156
Einfache Datentypen 157
Abgeleitete einfache Datentypen 160
Facetten 162
Einfache Datentypen benutzerdefiniert ableiten 173
Ein umfangreicheres XML Schema 175
Das Inhaltsmodell 178
Sequenz und Auswahl von Elementen 179
Elemente zu Gruppen zusammenfassen 180
Datentypen ableiten 187
Ableiten durch Einschränken 187
Ableiten durch Erweitern 189
Namensräume verwenden 193
Einen eigenen Namensraum verwenden 194
Externe Schemadateien einbinden 195
Eindeutige Elemente und Attribute 197
Referenz 201
Übersicht über alle XML Schema-Elemente 201
Übersicht über alle XML Schema-Attribute 202

Teil 2 Adressierung und Struktur von XML-Dateien 205

Kapitel 6: X-Path 207
XPath kennen lernen 208
XPath Tester 208
XPath Visualizer 211
Grundlagen 212
Knoten 212
Lokalisierungspfade 214
Datentypen und Operatoren 215
Variable 218
Funktionsaufrufe 218
XPath-Ausdrücke 219
Lokalisierungspfade 219
Achsen 220
Knotentest 224
Prädikate 225
Abgekürzte Schreibweise von Lokalisierungspfaden 230
XPath-Funktionen 233
Funktionen für Knotenmengen 233
Funktionen für Zeichenketten 237
Funktionen für boolesche Werte 241
Funktionen für Zahlen 243

Kapitel 7: XLink 245
Einführung 245
Wichtige Begriffe und XLink-Elemente 246
Ressourcen 246
Arten von XLinks 247
XLink-Markup 248
Ein XLink-Beispiel mit Asterix und Obelix 253
Die Syntax von erweiterten Links 262
Allgemeines 262
Ressource-Elemente 263
Locator-Elemente 263
Bogen-Elemente 263
Titel-Element 265
Ein Beispiel 265
Linkdatenbanken (linkbases) 267
Die Syntax von einfachen Links 269
Die Syntax der XLink-Attribute 271
Das Type-Attribut (type) 271
Das Locator-Attribut (href) 271
Semantische Attribute (role, arcrole, title) 271
Verhaltens-Attribute (show, actuate) 272
Traversen-Attribute (label, from, to) 272

Kapitel 8: XPointer 273
Knoten, Punkte und Bereiche 274
Knoten 275
Punkte 275
Bereiche 277
Verschiedene Schreibweisen von XPointern 277
Vollständige Schreibweise von XPointern 277
Namensschreibweise von XPointern 277
Schreibweise von XPointern mithilfe von Kindsequenzen 278
XPointer Funktionen 278
Verwendung von XPointern 281

Teil 3 Formatierung durch Stylesheets und XSLT 283

Kapitel 9: CSS-Level 2 285
Allgemeines 286
Die XML-Stylesheet-Verarbeitungsanweisung 286
Formatanweisungen 287
Kommentare 287
At-Regeln 287
Werte von Eigenschaften 288
Ausgabemedien (Media type) 292
Selektoren 294
Universalselektor 294
Typselektor 294
Attributselektor 294
ID-Selektor 295
Pseudoklassenselektoren 299
Pseudoelementselektoren 300
Kaskadierung 301
„Wichtige" CSS-Regeln 302
Vererbung 304
Zeichensätze 304
Fonteigenschaften 304
Die Auswahl eines Zeichensatzes 307
Texteigenschaften 310
Textfarbe und Hintergrundfarbe 314
Das Box-Modell 317
Die Eigenschaften einer Box 317
Die unterschiedlichen Bereiche einer Box 318
Die Ausgabe der unterschiedlichen Boxentypen (Visual formatting rnodel) 324
Die „Display"-Eigenschaft 325
CSS-Eigenschaften für die Ausgabe von Boxen 326
Die Formatierung von Zeilenboxen 326
Die „Position"-Eigenschaft 327
Die „Float"- und „Clear"-Eigenschaft 330
Die „z-index"-Eigenschaft 332
Die „Direction"- und „Unicode-bidi"-Eigenschaften 334
Behandlung von Überlauf (overflow) 334
Tabellen 337
Das CSS-Tabellenmodell 337
Das Layout einer Tabelle 340
Rahmen für eine Tabelle 346
Sprachausgabe von Tabellen 351
Dynamisch erzeugter Inhalt (generated content) 351
Die Pseudoelemente :before und :after 351
Automatisches Zählen und Nummerieren 355
Marker 360
Listen 362
Der Cursor 365
Gedruckte Ausgabeformate 366
Die Seiten-Box 366
Pseudoklassen für linke, rechte und erste Seiten 367
Seitenumbruch 367
Sprachausgabe 368
CSS-Referenz 371
CSS-Eigenschaften 371
At-Regeln 375

Kapitel 10: XSLT 377
Grundlegendes 377
XSLT-Prozessoren verwenden 379
Der Aufbau eines XSLT-Dokumentes 380
Grundlegende Transformationen 382
Ohne Regeln transformieren 383
Templates verwenden 384
Werte ausgeben 392
Neue Elemente erzeugen 393
Ablaufsteuerung 401
Schleifen, Verzweigungen und Sortiervorgänge 401
Variable 409
Benannte Templates verwenden 411
Templates importieren 414
Beispiel: XML-Daten in verschiedene Formate transformieren 414
Transformation nach HTML 416
Weitere XSLT-Elemente 433
Referenz 439

Kapitel 11: XSL-FO 441
XSL-FO-Dokumente erzeugen 442
XML-Daten auswählen und transformieren 442
XSL-FO-Daten anzeigen 443
Der Aufbau einer Seite - Bereiche und Abstände 446
Das Bereichsmodell von XSL-FO 446
Abstände zwischen einzelnen Bereichen und Positionierung 448
Beispiel für eine vollständige XSL-FO Datei 453
Formatierungsobjekte 454
Formatierungseigenschaften 455
XSL-FO Ausdrücke und Funktionen 475

Kapitel 12: Dokumente mit XSL-FO gestalten 479
Seitengestaltung 480
Seitenvorlagen verwenden 489
Beispiel: Der Reihe nach verschiedene Seitenvorlagen verwenden 489
Beispiel: Alternierende Seitenvorlagen verwenden 492
Übersicht über alle Objekte zur Seitengestaltung 496
FO-Dokumente mit Transformationen erzeugen 498
Blockbereiche 503
Beispiel: Eine Überschrift ausgeben 505
Beispiel: Einen Absatz ausgeben 505
Beispiel: Mehrere Spalten mit einem Block überdecken 505
Tabellen 507
Tabellen mit Tabellentitel versehen 514
Beispiel: Umfangreiche Daten in Tabellen ausgeben 515
Listen 519
Beispiel: Umfangreiche Listen ausgeben 521
Inlinebereiche 526
Beispiel: Einzelne Zeichen ausgeben 526
Beispiel: Einen Zeilenbereich hervorheben 528
Beispiel: Eine externe Grafik einbinden 530
Beispiel: SVG-Objekte einbinden 531
Beispiel: Seitenzahlen ausgeben 534
Beispiel: Führungslinien ausgeben 535
Beispiel: Seitenverweise verwenden 536
Weitere Inline-Objekte 538
Dynamische Formatierungsobjekte 540
Beispiel: Hyperlinks verwenden 540
Out-of-Line Formatierungsobjekte 544
Beispiel:Fußnoten ausgeben 544
Beispiel: Text um Bilder fließen lassen 545
Weitere Formatierungsobjekte 546
Beispiel: Leitwörter verwenden 546
Übersicht über die XSL-Formatierungsobjekte 551

Teil 4 Parsen von XML-Dateien 563

Kapitel 13: DOM - die Spezifikation 565
XML-Dateninsel 566
Das Dokumentenmodell von DOM 574
DOMException 577
Grundlegende Schnittstellen 578
DOMImplementation 578
DocumentFragment 579
Document 579
Node 583
NodeList 586
NamedNodeMap 586
CharacterData 588
Attr 590
Element 590
Text 593
Comment 594
Erweiterte Schnittstellen 594
CDATASection 594
DocumentType 594
Notation 595
Entity 595
EntityReference 595
ProcessingInstruction 595

Kapitel 14: Parsen mit DOM 597
XML-Daten einer bekannten XML-Datei ausgeben 597
XML-Daten einer unbekannten XML-Datei ausgeben 605
XML-Daten erzeugen und einfügen 608
Nach einer Information suchen 611
XML-Dateien editieren 617
XML-Daten löschen 624
Datensätze erzeugen und sortiert in eine XML-Datei einfügen 630
Der DOM-Parser von Java 1.4 635
Die DOM-Schnittstellen in der Java-Implementation 635
Die Java-Programmierumgebung 638
Erste Schritte in der DOM-Programmierung 640
Eine neue XML-Datei erstellen 644
Eine XML-Datei abspeichern 649

Kapitel 15: Die Simple API für XML (SAX) 655
Grundlegende Konzepte 655
Der SAX-Parser von Java 1.4 660
SAXParserFactory 665
SAXParser 666
Der SAX-Parser von XML4J 667
Die Java-Schnittstellen von SAX 670
XMLReader 671
ContentHandler 674
DTDHandler 677
ErrorHandler 678
XMLFilter 679
Locator 679
Attributes 680
EntityResolver 683
Die Java-Klassen von SAX 684
InputSource (org.xml.sax) 684
SAXException (org.xml.sax) 685
SAXParseException (org.xml.sax} 685
AttributesImpl (org.xml.sax.helpers) 686
DefaultHandler (org.xml.sax.helpers) 687
LocatorImpl (org.xml.sax.helpers) 687
NamespaceSupport (org.xml.sax.helpers) 688
ParserAdapter (org.xml.sax.helpers) 689
XMLFilterImpl (org.xml.sax.helpers) 690
XMLReaderAdapter (org.xml.sax.helpers) 691
XMLReaderFactory (org.xml.sax.helpers) 692
Das Erweiterungspaket von SAX 692
LexicalHandler 693
DeclHandler 695

Kapitel 16: Parsen mit SAX 697
XML-Daten auslesen und verarbeiten 699
Attributwerte ausgeben und abfragen 702
Fehlerbehandlung in SAX 704
Zugriff auf Daten einer DTD 710
Verwenden von Erweiterungsschnittstellen 712

Teil 5 XML-Anwendungen 717

Kapitel 17: XML und PHP 719
Einführung 719
XML-Dokumente parsen 720
Beispiel: Elemente und Attribute ausgeben 721
Beispiel: Ende-Tags verwenden 723
Beispiel: PHP-Code in die Ausgabe einfügen 724
Beispiel: Fehlermeldungen ausgeben 726
Eine XML-Datei in ein assoziatives Array einlesen 727
Übersicht über XML-Funktionen von PHP 729
XSL-Transformationen ausführen 731
Eine Beispieltransformation 731
Übersicht über die XSLT-Funktionen in PHP 734
WDDX - Ausgaben erzeugen 735
Daten serialisieren und deserialisieren 735
Übersicht über die WDDX-Funktionen in PHP 739

Kapitel 18: XML-Daten am Server verarbeiten 741
Grundlegendes 741
Tomcat und Cocoon installieren 742
Was kann Cocoon? 743
Beispiele 744
Beispiel: Ausgabe von XML-Daten 745
Beispiel: Ein Sitzungsprotokoll ausgeben 747
Ausblick 748

Kapitel 19: XHTML 749
Werkzeuge 749
Tidy 749
Amaya 751
Struktur eines XHTML-Dokumentes 752
Unterschiede zwischen XHTML und HTML 753
XHTML und andere XML-Anwendungen, Namensräume 756
Modularisiertes XHTML 758
XHTML Struktur-Modul 759
XHTML Text-Modul 760
XHTML Hypertext-Modul 760
XHTML Listen-Modul 761
XHTML Applet-Modul 761
XHTML Präsentations-Modul 761
XHTML Editier-Modul 762
XHTML Bidi-Modul 762
XHTML Formular-Basismodul 762
XHTML Formular-Modul 763
XHTML Tabellen-Basismodul 763
XHTML Tabellen-Modul 763
XHTML Bild-Modul 764
XHTML Modul für clientseitige Imagemaps 764
XHTML Modul für serverseitige Imagemaps 764
XHTML Objekt-Modul 765
XHTML Frame-Modul 765
XHTML Target-Modul 765
XHTML Iframe-Modul 765
XHTML Modul für Eventhandler 765
XHTML Modul für Metainformationen 766
XHTML Modul für Skripts 766
XHTML Stylesheet-Modul 767
XHTML Modul für Stil-Attribute 767
XHTML Link-Modul 767
XHTML Base-Modul 767
XHTML Modul für Namensbezeichner 767
XHTML Übergangs-Modul 767
XHTML Basic 769
Von XHTML Basic verwendete XHTML Module 770
Struktur eines XHTML Basic - Dokumentes 770
XHTML1.1 - modulbasiertes XHTML 771
Struktur eines XHTML1.1-Dokumentes 773

Kapitel 20: WML 775
WML-Dokumente darstellen, WML-Simulatoren 776
Der grundlegende Aufbau eines WML-Dokumentes 778
Navigieren zwischen verschiedenen WAP-Seiten 785
Benutzereingaben und Variable 788
Grafiken einfügen 792
Referenz 792

Kapitel 21: MathML 797
Einführung 798
Das Presentation-Markup 811
Token-Elemente 811
Allgemeine Layout-Schemata 815
Script-Schemata 820
Tabellen und Matrizen 822
Dynamische Elemente 825
Das Content-Markup 825
Token-Elemente 825
Grundlegende Content-Elemente 826
Elemente für Operatoren 827
Relationen 828
Differential- und Integralrechnung (Auszug) 828
Mengenlehre 829
Folgen und Reihen 829
Funktionen (Auszug) 830
Statistik (Auszug) 830
Vektoren und Matrizen (Auszug) 830
Semantische Elemente 831
Konstanten und Symbole (Auszug) 831

Kapitel 22: SVG 833
SVG in der Praxis 833
Grundelemente von SVG 837
Struktur eines SVG-Dokumentes 837
Das Koordinatensystem 837
Strecken, Rechtecke, Streckenzüge und Polygone 838
Kreise, Ellipsen, Rechtecke mit abgerundeten Ecken 838
Texte einfügen 839
Externe Grafikdateien verwenden 840
Bezierkurven 841
Weitere SVG-Elemente 842
Attribute und Eigenschaften von SVG-Elementen 844
SVG-Objekte einbetten 846

Kapitel 23: RDF 851
Einleitung 852
Die Syntax von RDF 855
RDF-Schema 859
Einsatz von RDF 862

Kapitel 24: VoiceXML 865
VoiceXML-Daten darstellen 866
Ein grundlegendes Beispiel 866
Programmstrukturen 868
VoiceXML-Dateien mit Transformationen erzeugen 872
Referenz 875
Anhang 879
DTD zu VoiceXML 1.0 879
Internet-Seiten 885
W3C-Referenzen 885
XML-Editoren 886
Spezielle XML-Themen 886
Webseiten für Downloads 887
Stichwortverzeichnis 889