Vorwort 1 DocBook in 10 Minuten 1.1 XML als universelle Datenstruktur 1.2 Ein DocBook-Dokument entsteht 1.3 Überprüfen eines DocBook-Dokuments 1.4 Umwandlung von DocBook 1.5 Die Reise beginnt... VII 1 1 2 3 3 6 1 Grundlagen 2 Einführung in XML 2.1 Geschichtliches zu SGML, HTML und XML. 2.2 Was ist XML? - Ein erstes Beispiel. 2.3 Der Aufbau von XML 2.4 Wohlgeformte und gültige XML-Dokumente 2.5 XML-Anwendungen 2.6 XML-Parser 2.7 Ergänzungen zu XML 2.8 Zusammenfassung 3 Dokumenttyp-Definitionen (DTDs) 3.1 Vergleich zwischen Dokumenttypen und Schemata 3.2 Aufbau einer DTD.... 9 9 11 12 34 35 37 37 38 39 39 40 XIII
3.3 Beispiel-DTD einer CD-Kollektion.... 3.4 Zusammenfassung 4 XML- und SGML-Kataloge 4.1 Probleme der Adressierung durch URLs 4.2 Adressierung durch URN 4.3 Aufbau von öffentlichen Bezeichnern 4.4 Konvertierung von öffentlichen Bezeichnern in URNs 4.5 XML-Katalog-Dateien 4.6 SGML-Katalog-Dateien. 4.7 Überschreiben von URIs. 4.8 Modularisierung von Katalog-Dateien 4.9 Delegieren von URIs 4.10 Katalog-Einstellungen für DocBook 4.11 Zusammenfassung.... 60 64 65 65 66 67 69 70 74 76 77 78 79 82 II DocBook 83 5 Einführung in DocBook 5.1 Was ist DocBook? 5.2 Warum DocBook? 5.3 SGML-oder XML-DTD?. 5.4 Installation der DocBook-DTD 5.5 Ein kurzer Einstieg in DocBook 5.6 Öffentliche Bezeichner für DocBook 5.7 Systembezeichner von DocBook 5.8 Teilung von Dokumenten 5.9 Zusammenfassung 6 DocBook anwenden 6.1 Das Inhaltsmodell 6.2 Allgemeine Attribute.... 6.3 Etwas über die Darstellung von DocBook 85 85 86 87 88 89 89 90 91 101 103 103 104 106 XIV
6.4 Buchreihen 6.5 Bücher 6.6 Buchteile 6.7 Erstellen von Kapiteln 6.8 Artikel 6.9 Referenzseiten. 6.10 Literaturverzeichnisse 6.11 Glossare 6.12 Erstellen von Abschnitten 6.13 Versionsgeschichte 6.14 Tabellen.... 6.15 Grafiken und Abbildungen 6.16 Indexeinträge 6.17 Listen 6.18 Listenähnliche Elemente. 6.19 Verbatim-Elemente 6.20 Erstellen von Callouts über Regionen 6.21 Gleichungen 6.22 Randnotizen 6.23 Zitate und Sinnsprüche 6.24 Absatz-Elemente 6.25 Markup innerhalb des Textes 6.26 Erstellen von Querverweisen 7 Benutzerdefinierte Anpassungen von DocBook 7.1 Warum Anpassungen von DocBook? 7.2 Warum keine Anpassungen von DocBook? 7.3 Überlegungen vor der Anpassung. 7.4 Benennung der Anpassungen 7.5 Die Struktur von DocBook 7.6 Hinzufügen von Elementen 7.7 Hinzufügen und Ändern von Attributen 7.8 Entfernen von Elementen XV
7.9 Entfernen von Attributen 7.10 DocBook und XIncludes.... 7.11 Integration einer anderen DTD in DocBook 7.12 Zusammenfassung 8 Erweiterungen der DocBook-DTD 8.1 SimpleDocBook 8.2 Das EBNF-Modul 8.3 Das MathML-Modul 8.4 Das HTMLForms-Modul 8.5 Das SVG-Modul 8.6 Zusammenfassung 202 206 207 210 211 211 218 221 225 228 231 III DocBook-Transformationen 233 9 XPath 9.1 Wozu XPath? 9.2 Was ist ein XPath? 9.3 XPath Grundtypen 9.4 Knotenarten 9.5 Der Kontext 9.6 Lokalisierungspfade 9.7 Lokalisierungsschritte 9.8 XPath-Abkürzungen 9.9 Wildcards. 9.10 XPath-Funktionen. 9.11 XPath in Aktion 9.12 Zusammenfassung 10 Einführung in XSLT 10.1 Wozu XSLT? 10.2 Übersicht über XSL, XSLT und XSL-FO 10.3 Eine Beispieltransformation 235 235 236 236 237 242 243 244 250 251 252 256 260 263 263 264 265 XVI
10.4 Der Transformationsvorgang.... 10.5 XSLT-Elemente 10.6 XSLT-Funktionen 10.7 Template-Regeln und Templates 10.8 Knoten verarbeiten mit xsl: apply- templates 10.9 Modi 10.10 Berechnungen mit xsl: value - of 10.11 Eingebaute Template-Regeln 10.12 XSLT-Verzweigungselemente 10.13 Neue Elemente und Attribute erzeugen 10.14 Objekte mit xsl: copy/xsl: copy- of kopieren 10.15 Kombinieren von XML-Dokumenten 10.16 Kombinieren von Stylesheets 10.17 Variablen 10.18 Benutzerdefinierte Funktionen 10.19 Sortieren mit xsl: sort. 10.20 Meldungen ausgeben 10.21 Erweiterungen.... 10.22 Portable Erweiterungen mit EXSLT 10.23 Beispiele 10.24 Zusammenfassung 11 Die DocBook-XSL-Stylesheets 11.1 Überblick über die Stylesheets.... 11.2 Verändern von Parametern 11.3 Teilweise Transformation 11.4 Filtern konditionaler Elemente (Profiling) 11.5 Erweiterungsfunktionen und Erweiterungselemente 11.6 Lokalisierungen 11.7 Anpassung von Titelseiten 11.8 Dokumentenübergreifende Verweise (olink) 11.9 Verarbeitungsanweisungen in den DocBook-Stylesheets 11.10 Aktuelle Zeit- und Datumsangaben einfügen XVII
11.11 Zusammenfassung 352 12 Transformation nach (X)HTML 12.1 Verfügbare Stylesheets 12.2 Eine Anpassungsdatei für (X)HTML 12.3 Erzeugen einer einzelnen (X)HTML-Datei 12.4 Erzeugen verlinkter Teildateien 12.5 Inhaltsverzeichnisse 12.6 Kopf- und Fußzeilen 12.7 Mathematische Formeln 12.8 Formatieren von (X)HTML mit CSS 12.9 Zusammenfassung 13 Transformation nach FO (PDF) 13.1 Was ist XSL-FO? 13.2 Formatierung von XSL-FO 13.3 Erste Begegnung mit XSL-FO. 13.4 Seitenmodell von XSL-FO 13.5 XSL-FO- und CSS-Eigenschaften 13.6 Beispiele für Seitenlayouts 13.7 Beispiele für Textlayout 13.8 Aufbau einer produzierten XSL-FO-Datei aus DocBook 13.9 Verfügbare DocBook-XSL-Stylesheets 13.10 Eine Anpassungsdatei für XSL-FO 13.11 Verändern des Seitenlayouts 13.12 Typografie 13.13 Erweiterungen. 13.14 Kopf- und Fußzeilen 13.15 Titelseiten 13.16 Zusammenfassung 14 Weitere Anwendungsgebiete 14.1 Ausgabe von Text 14.2 Ausgabe von Manpages 413 413 414 XVIII
14.3 Ausgabe von ETEX. 14.4 Ausgabe von HTMLHelp 14.5 Ausgabe von JavaHelp 14.6 OpenOffice.org und DocBook 14.7 Literarisches Programmieren. 14.8 Webseiten erstellen mit DocBook 14.9 Präsentationen mit DocBook erstellen 14.10 Die Zukunft von DocBook 14.11 Zusammenfassung.... 414 415 416 416 419 420 422 423 423 IV Programme und Tools 15 XML-Editoren 15.1 GNUEmacs 15.2 Kate XML-Plugin 15.3 jedit. 15.4 epcedit 15.5 KXMLEditor 15.6 Zusammenfassung 16 XML-Parser 16.1 xmllint (libxml2) 16.2 onsgmls (OpenSP) 16.3 Erkennung und Behandlung von Fehlern 16.4 Zusammenfassung 17 XSLT-Prozessoren 17.1 xsltproc (libxslt) 17.2 Saxon 17.3 Xalan 17.4 Zusammenfassung 18 FO-Prozessoren 18.1 Übersicht 425 427 427 436 439 443 448 448 451 451 455 457 466 469 469 472 477 480 481 481 XIX
18.2 FOP 18.3 PassiveTeX 18.4 Zusammenfassung 19 Sonstige hilfreiche Programme 19.1 Konvertierungsprogramme für DTDs 19.2 Kodierung einer Datei ändern 19.3 Unterschiede zwischen XML-Dateien erkennen 19.4 Openjade 19.5 Zusammenfassung 483 485 488 489 489 491 491 493 499 V Anhang 501 A Übersicht aller DocBook-Elemente 503 B Zukünftige Änderungen an DocBook 525 C Übersicht über relevante Namensräume für DocBook D Beispiel-DTD: CD-Sammlung 531 535 E F G H I Befehle von PSGML Die beiliegende CD-ROM XML-Katalog-Referenz SGML-Katalog-Referenz PSGML-Variablen-Referenz 551 555 557 567 571 Glossar Literaturverzeichnis Index Kolophon 581 593 601 615 XX