Schnell eine E-Mail an den XML-Guru

Inhaltsverzeichnis

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

 


© msw 1999-2005