| Inhaltsverzeichnis | 6 |
|---|
| Vorwort | 14 |
|---|
| 1. Grundkonzept | 25 |
|---|
| 1. 1. XSLT und seine Alternativen | 25 |
| 1. 1. 1. Kriterien zur Bewertung | 26 |
| 1. 1. 2. CSS | 28 |
| 1. 1. 3. SAX | 30 |
| 1. 1. 4. DOM | 31 |
| 1. 1. 5. Vorteile von XSLT | 33 |
| 1. 2. Grundstruktur einer XML-Anwendung | 37 |
| 1. 2. 1. Modellierung | 37 |
| 1. 2. 2. Validierung | 39 |
| 1. 2. 3. Transformation | 40 |
| 1. 3. Beispiel | 43 |
| 1. 3. 1. Verwendete Beispieldateien | 43 |
| 1. 3. 2. Einfache Anwendung | 44 |
| 2. Vorlagentechnik | 52 |
|---|
| 2. 1. Arbeiten mit Vorlagen | 52 |
| 2. 1. 1. Erzeugen von HTML | 53 |
| 2. 1. 2. Element: Stylesheet und sein Inhalt | 56 |
| 2. 1. 3. Wertübernahme aus XML | 59 |
| 2. 2. Vorlagen-Typen | 63 |
| 2. 2. 1. Vorlagen-Regeln oder unbenannte Vorlagen | 64 |
| 2. 2. 2. Benannte Vorlagen | 78 |
| 2. 2. 3. Vorlagen-Modi | 92 |
| 2. 3. Attributwerte | 99 |
| 2. 3. 1. Attributwertvorlagen | 99 |
| 2. 3. 2. Attributwerte zusammensetzen | 101 |
| 3. Adressierung mit XPath | 105 |
|---|
| 3. 1. Grundlagen | 105 |
| 3. 1. 1. Allgemeine Konzepte | 106 |
| 3. 1. 2. Knotentypen | 110 |
| 3. 2. Lokalisierung | 118 |
| 3. 2. 1. Achsen | 119 |
| 3. 2. 2. Beispiele zur Achsen-Verwendung | 127 |
| 3. 2. 3. Abgekürzte Syntax | 130 |
| 3. 3. Knotentests | 130 |
| 3. 3. 1. Lokalisierungsschritte | 131 |
| 3. 3. 2. Arten-Test | 132 |
| 3. 3. 3. Prädikate | 133 |
| 3. 4. Funktionen in XPath | 135 |
| 3. 4. 1. Knotenmengenfunktionen | 136 |
| 3. 4. 2. String-Funktionen | 137 |
| 3. 4. 3. Logische Funktionen | 137 |
| 3. 4. 4. Numerische Funktionen | 138 |
| 3. 4. 5. Beispiele | 138 |
| 3. 5. Neuerungen in XPath 2.0 | 139 |
| 3. 5. 1. Kontrollstrukturen und Funktionen | 140 |
| 3. 5. 2. Sequenzen | 141 |
| 4. Kontrollstrukturen | 144 |
|---|
| 4. 1. Fallunterscheidungen | 144 |
| 4. 1. 1. Einfacher Einsatz von XPath | 144 |
| 4. 1. 2. Auswahl mit if | 151 |
| 4. 1. 3. Auswahl mit choose | 157 |
| 4. 1. 4. Fallunterscheidungen in XPath 2.0 | 162 |
| 4. 2. Wiederholungen | 166 |
| 4. 2. 1. Ping-Pong-Spiel | 166 |
| 4. 2. 2. Einsatz von for-each | 166 |
| 4. 2. 3. Schleifen in XPath 2.0 | 173 |
| 5. Sortierungen und Gruppierungen | 176 |
|---|
| 5. 1. Sortierungen | 176 |
| 5. 1. 1. Allgemeine Sortiermöglichkeiten | 176 |
| 5. 1. 2. Einfache Sortierung | 178 |
| 5. 1. 3. Mehrfache Sortierung | 181 |
| 5. 2. Nummerierung | 183 |
| 5. 2. 1. Allgemeine Möglichkeiten der Nummerierung | 183 |
| 5. 2. 2. Einfache Nummerierung | 185 |
| 5. 2. 3. Erweiterte Nummerierung | 189 |
| 5. 3. Gruppierungen | 192 |
| 5. 3. 1. Gruppierungen für XSLT 1.0 | 193 |
| 5. 3. 2. Gruppierungen für XSLT 2.0 | 202 |
| 6. Parameter und Variablen | 213 |
|---|
| 6. 1. Parameter | 213 |
| 6. 1. 1. Lokale Parameter | 216 |
| 6. 1. 2. Globale Parameter | 222 |
| 6. 2. Variablen | 226 |
| 6. 2. 1. Lokale Variablen | 227 |
| 6. 2. 2. Globale Variablen | 232 |
| 6. 2. 3. Temporäre Bäume | 236 |
| 7. Vorgaben für Ein-und Ausgabeformate | 242 |
|---|
| 7. 1. HTML | 242 |
| 7. 1. 1. CSS erzeugen | 242 |
| 7. 1. 2. Kommentar erzeugen | 245 |
| 7. 2. XML | 245 |
| 7. 2. 1. Strukturen erzeugen | 245 |
| 7. 2. 2. Besondere Knoten und Anweisungen | 250 |
| 7. 2. 3. Strukturen kopieren | 253 |
| 7. 3. Zeichenformatierungen | 258 |
| 7. 3. 1. Allgemeine Ausgabeoptionen | 259 |
| 7. 3. 2. Dezimalformat | 264 |
| 7. 3. 3. Zeitformatierung | 266 |
| 7. 4. Verarbeitung von mehreren Dokumenten | 270 |
| 7. 4. 1. Mehrere Dokumente laden | 270 |
| 7. 4. 2. Mehrere Dokumente mit XSLT 2.0 erzeugen | 274 |
| 8. XML und Text | 282 |
|---|
| 8. 1. XML | 282 |
| 8. 1. 1. Attributorientierte Dokumente | 282 |
| 8. 1. 2. XML Schema | 288 |
| 8. 2. Text | 305 |
| 8. 2. 1. SQL | 306 |
| 8. 2. 2. CSV-Werte | 314 |
| 8. 2. 3. Textausgabe | 318 |
| 9. Dateibasierte Auslagerung | 328 |
|---|
| 9. 1. XSLT-Dateien einbinden | 328 |
| 9. 1. 1. Einfaches Beispiel | 329 |
| 9. 1. 2. Prioritätsregeln | 330 |
| 9. 2. XSLT-Dateien importieren | 333 |
| 9. 2. 1. Standardfall | 333 |
| 9. 2. 2. Priorisierung im Importbaum | 335 |
| 9. 2. 3. Überschreibung umgehen | 336 |
| 9. 2. 4. Eingebaute Vorlagen | 341 |
| 9. 3. XML Schema in XSLT 2.0 | 343 |
| 10. Fehlersuche | 347 |
|---|
| 10. 1. Nachrichten | 347 |
| 10. 1. 1. Grundprinzip | 347 |
| 10. 1. 2. Sinnvolle Benutzung | 349 |
| 10. 2. Testfunktionen | 350 |
| 10. 2. 1. Verfügbare Syntax testen | 350 |
| 10. 2. 2. Standardverhalten | 352 |
| 11. Vorlagen und Strukturen | 357 |
|---|
| 11. 1. Vorlagentypen | 357 |
|