|
Inhaltsverzeichnis
1
Zur Einstimmung. 8
1.1
Aufbau des Buches. 8
1.2
Voraussetzungen für dieses Buch.
9
1.3
Konventionen. 9
1.4
Download der Codebeispiele und Support
9
2
Überblick PHP & XML.
11
2.1
SAX.. 11
2.2
DOM... 11
2.3
SimpleXML. 12
2.4
XSLT.. 12
2.5
Native XML-Datenbanken. 12
3
Das Parsen mit SAX.. 13
3.1
Was ist SAX?. 13
3.2
SAX in PHP. 14
3.3
Überblick über SAX..
14
3.4
Parsen mit SAX.. 16
3.5
Fehlermeldungen. 17
3.6
Auf Ereignisse reagieren: die Handler
18
3.6.1
Der Element Handler 19
3.6.2
Der Character Data Handler
23
3.6.3
Weitere Handler 25
3.7
Namensräume in SAX..
28
3.8
Was SAX in PHP nicht unterstützt
29
3.9
Fallstudie: SAX für eine HTML-Ausgabe einsetzen.
30
4
DOM XML in PHP 4.x. 39
4.1
DOM in PHP. 40
4.2
Funktionsweise von DOM...
41
4.3
Eine XML-Datei im DOM-Modus laden und parsen.
45
4.3.1
Fehlerauswertung beim Parsen.
46
4.4
Rund um die DTD.. 48
4.4.1
Gegen eine DTD validieren.
49
4.4.2
Die Klasse DomDocumentType.
52
4.4.3
XML Schema. 53
4.5
Laden und Parsen eines XML-Dokuments als String.
53
4.6
Die XML-Datei im Browser anzeigen.
55
5
Auf die Inhalte von XML zugreifen in PHP 4.x.
57
5.1
Zugriff auf die Inhalt der XML-Datei: Die Klasse DomNode.
57
5.1.1
Das Wurzelelement ermitteln.
57
5.1.2
Informationen über einen Knoten.
58
5.1.3
Childs. 61
5.2
Durch den Dokumentenbaum gehen.
68
5.3
XML-Elemente gezielt ansprechen.
70
5.4
Schwierigkeiten mit den Umlauten: UTF-8 und ISO-8859-1 in DOM
XML. 73
6
DOM XML in PHP 4.x vertiefen.
76
6.1
Ein leeres XML-Dokument erstellen.
76
6.2
Ein XML-Dokument speichern.
77
6.3
Das Wurzelelement erzeugen.
78
6.4
Ein neues XML-Element in den Dokumentenbaum einhängen.
80
6.5
Einen Textknoten einhängen.
82
6.6
Einen Knoten in eine bestehende XML-Datei einhängen.
84
6.7
Einen Knoten importieren.
86
6.8
Kopieren statt importieren.
89
6.9
Knoten entfernen.. 90
6.10
Einen Knoten ersetzen. 91
6.11
Weitere Knoten: Comment, CDATA, Processing Instruction..
92
6.11.1
Comment-Knoten. 92
6.11.2
CDATA-Knoten. 93
6.11.3
PI-Knoten. 94
6.12
Rund um Attribute. 95
6.12.1
Vorhandene Attribute auslesen.
96
6.12.2
Attribute erzeugen. 98
6.13
Namensräume. 100
6.13.1
Namensräume auslesen.
100
6.13.2
Namensräume setzen.
102
6.14
HTML und XHTML statt XML in DOM XML.
103
6.14.1
HTML erzeugen. 103
6.14.2
XHTML erzeugen. 105
6.14.3
Laden und Parsen von HTML und XHTML.
105
6.14.4
Elemente erzeugen und in den Dokumentenbaum einhängen.
106
7
XPath und XInclude in PHP 4.x.
108
7.1
XPath. 108
7.1.1
Einfache XPath-Abfragen.
108
7.1.2
Namensräume in XPath-Abfragen.
110
7.1.3
Attribute mit Hilfe von XPath abfragen.
111
7.1.4
Unterstützte XPath-Anweisungen.
111
7.2
XInclude. 116
8
DOM XML in PHP 5. 119
8.1
Die DOM XML-Bibliothek aus PHP 4.x unter PHP 5.
119
8.2
Neue Klassen in PHP 5. 120
8.2.1
Neue und alte Klassen im Vergleich.
120
8.2.2
Klassenhierarchie. 123
8.2.3
Konstruktoren, Methoden und Eigenschaften.
124
8.2.4
Verkürzte Aufrufe.
125
8.3
Laden, Parsen und Speichern von XML in PHP 5.
125
8.3.1
Laden und Parsen von XML-Dateien.
126
8.3.2
Parsen von XML-Dokumenten als Strings.
128
8.3.3
Speichern von XML-Dokumenten als Datei
129
8.3.4
Den Dokumentenbaum in einen String wandeln.
129
8.3.5
Berücksichtigung der Leerzeichen und Zeilenumbrüche.
130
8.3.6
UTF-8 und ISO-8859-1. 131
8.4
Validieren. 132
8.4.1
Validieren gegen DTD.. 132
8.4.2
Validieren gegen XML Schema.
132
8.4.3
Validieren gegen Relax NG..
134
8.5
Rund um die Klasse DomDocument..
136
8.6
Namensräume in PHP 5.
138
8.7
Die Elemente und Knoten im Dokumentenbaum..
140
8.7.1
Das Wurzelelement 140
8.7.2
Die Klasse DomNode.. 140
8.7.3
Childs. 143
8.8
Die Elemente ansprechen.
145
8.9
Attribute auslesen. 149
8.9.1
Direkter Zugriff auf ein Attribut
149
8.9.2
Die Klasse DomAttr.. 150
8.9.3
Attribute über DomNamedNodeMap auslesen.
152
8.10
XPath. 153
8.10.1
Die Klasse DomXPath. 153
8.10.2
Namensräume. 155
8.10.3
Unterstütze XPath-Abfragen in PHP 5.
155
8.11
XInclude. 155
9
XML-Dokumente in PHP 5 erzeugen.
157
9.1
Das leere XML-Dokument 157
9.2
Das Wurzelelement und weitere Elemente einhängen.
157
9.3
XML-Elemente entfernen und ersetzen.
160
9.4
Attribute erzeugen und entfernen.
161
9.4.1
Der Konstruktor der Klasse DomAttr..
161
9.4.2
createAttribute() und createAttributeNS()..
164
9.4.3
setAttribute() und setAttributeNS()..
164
9.4.4
setAttributeNode() und setAttributeNodeNS()..
165
9.4.5
Attribute entfernen. 165
9.4.6
Einen neuen Namensraum definieren.
166
9.5
DOM-Fehler abfangen: Die Klasse DomException.
167
9.6
Neue Klassen in PHP 5: DomDomCharacterData, DomText und
DomComment 171
9.6.1
Die Klassen DomText und DomCharacterData..
172
9.6.2
Die Klasse DomComment..
174
9.7
Fragmente: Die Klasse DomDocumentFragment
175
9.8
Klassen ableiten. 177
9.9
HTML und XHTML mit DOM XML in PHP 5.
180
9.9.1
HTML. 180
9.9.2
XHTML. 185
9.9.3
Aufbauen eines neuen Dokumentenbaums für XHTML und HTML.
185
10
SimpleXML und XMLReader
191
10.1
Überblick über SimpleXML.
191
10.2
Laden von XML-Dateien und XML-Dokumenten.
192
10.3
Zugriff auf die Inhalte.
193
10.4
Attribute auslesen. 196
10.5
Abfragen mit Hilfe von XPath.
197
10.6
Neue XML-Dokumente aufbauen.
198
10.7
Speichern einer XML-Datei
200
10.8
XHTML erzeugen. 201
10.9
Austausch mit DOM... 201
10.10
XMLReader 204
10.10.1
Installation. 205
10.10.2
Laden und Parsen. 205
11
Formen mit XSLT in PHP 4.x und 5.
208
11.1
Überblick. 208
11.2
Formen on-the-fly. 211
11.3
Eine Formung nach HTML.
213
11.4
Fehler auswerten. 216
11.5
Das Log-File. 217
11.6
In eine Datei formen. 219
11.7
Formen nach XHTML. 220
11.7.1
XHTML 1.0. 220
11.7.2
XHTML 1.1. 221
11.7.3
XHTML 2.0. 222
11.8
Formen nach SVG.. 222
11.9
HTML und SVG kombinieren..
228
11.10
On-the-fly nach SVG formen..
230
11.11
Nach CSV formen.. 230
11.12
XHTML Mobile, XHTML Basic und WML..
232
11.13
Weitere Sprachen.. 239
11.14
Mit DOM formen: Die Klasse DomXsltStylesheet
239
11.14.1
Die Formung. 240
11.14.2
Die Formung in eine Datei schreiben.
240
11.14.3
Weiter Möglichkeiten, ein Objekt von DomXsltStylesheet zu
erhalten. 241
11.15
XSLT in PHP 5. 242
11.15.1
Eine Formung mit PHP 5.
242
11.15.2
In eine Datei formen. 244
11.15.3
In ein DomDocument-Objekt formen.
244
11.16
XSL:FO.. 244
12
Fallstudien: Web-Präsenz in XML und XSLT mit CMS.
246
12.1
Beispiel für HTML und mobile Geräte: www.xmlguru.de.
246
12.2
Überblick über die Web-Applikation.
248
12.2.1
Allgemeiner Überblick.
249
12.2.2
Benötigte Dateien und Verzeichnisstruktur
251
12.2.3
Die XML-Dateien. 253
12.2.4
Die Weiche in index.php: HTML, XHTML Mobile oder WML?.
254
12.2.5
Die Formung über main.php.
255
12.3
Die HTML-Fassung. 257
12.4
XHTML Mobile. 261
12.5
WML 1.x. 264
12.6
Ein CMS in PHP und XML.
266
12.6.1
Überblick und Ziel des CMS.
266
12.6.2
Verzeichnisstruktur 267
12.6.3
Änderungen an den XML- und XSLT-Dateien.
269
12.6.4
Die Oberfläche des CMS.
270
12.6.5
Die Funktionalitäten des CMS.
271
12.6.6
Verbessderungen des CMS.
301
Anhang
A: Referenz SAX.. 302
SAX-XML-Funktionen.
302
Parser-Funktionen.
302
Handler-Funktionen.
312
Sonstige
Funktionen. 320
Anhang
B: Referenz DOM XML in PHP 4.x.
322
DOM
XML-Funktionen. 322
DOM
XML-Klassen. 352
Die Klasse DomAttribute.
352
Die Klasse DomDocument 354
Die Klasse DomDocumentType.
369
Die Klasse DomElement 370
Die Klasse DomNode. 375
Die Klasse DomParser 398
Die Klasse DomProcessingInstruction.
405
Die Klasse DomXsltStylesheet
407
Die Klasse XPathContext
408
Anhang
C: Referenz DOM XML in PHP 5. 410
Funktionen. 411
Die Klasse DomAttr 411
Konstruktor 411
Methoden. 412
Eigenschaften. 413
Die Klasse DomCDATASection.
414
Konstruktor 416
Die Klasse DomCharacterData.
416
Methoden. 417
Eigenschaften. 419
Die Klasse DomComment 420
Konstruktor 422
Die Klasse DomDocument 422
Konstruktor 423
Methoden. 423
Eigenschaften. 439
Die Klasse DomDocumentFragment
443
Die Klasse DomDocumentType.
444
Eigenschaften. 444
Die Klasse DomElement 447
Konstruktor 447
Methoden. 447
Eigenschaften. 456
Die Klasse DomException.
457
Methoden. 459
Eigenschaften. 462
Die Klasse DomImplementation.
463
Methoden. 463
Die Klasse DomNamedNodeMap.
466
Methoden. 467
Eigenschaften. 469
Die Klasse DomNode. 469
Methoden. 469
Eigenschaften. 475
Die Klasse DomNodeList 485
Methoden. 485
Eigenschaften. 486
Die Klasse DomProcessingInstruction.
486
Konstruktor 487
Eigenschaften. 488
Die Klasse DomText 489
Konstruktor 489
Methoden. 490
Eigenschaften. 491
Die Klasse DomXPath. 491
Konstruktor 492
Methoden. 492
Eigenschaften. 494
Anhang
D: Referenz SimpleXML. 495
Funktionen. 495
Die Klasse simplexml_element
496
Methoden. 496
Anhang
E: Referenz XMLReader 498
Konstruktor 498
Methoden. 498
Eigenschaften. 503
Anhang
E: Referenz XSLT in PHP 4.x. 504
Anhang
F: Referenz XSLT in PHP 5. 520
Die Klasse XsltProcessor
520
Konstruktor 520
Methoden. 521
Index.
526
|