Docbook: Textverarbeitung mit XML

2,330 views

Published on

originally presented at Chemnitzer Linux-Tage 2005

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,330
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Docbook: Textverarbeitung mit XML

  1. 1. DocBook Textverarbeitung mit XML Peter Eisentraut 5.3.2005
  2. 2. Pers¨nlich o • PostgreSQL-Entwickler • Maintainer PostgreSQL-Dokumentation • Debian-Entwickler • Debian XML/SGML Group • Maintainer DocBook DSSSL Stylesheets • Buchautor DocBook 1
  3. 3. Was ist DocBook? • XML-Vokabular f¨r technische Dokumente u • Stylesheets und viele Tools • OASIS-Standard DocBook 2
  4. 4. Ein einfaches Beispiel <?xml version="1.0"?> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/xml/4.3/docbookx.dtd"> <book lang="de"> <title>Ein sehr einfaches Buch</title> <chapter> <title>Einf&uuml;hrung</title> <para>Hallo Welt!</para> </chapter> </book> DocBook 3
  5. 5. Verarbeitungsbeispiel $ xsltproc /usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl beispiel.xml > beispiel.html DocBook 4
  6. 6. Vorteile von DocBook • Inhalt und Format getrennt • mehrere Ausgabeformate • XML als standardisiertes Format • erweiterbar, anpassbar • l¨uft auf vielen Plattformen a DocBook 5
  7. 7. Ausgabeformate • HTML, XHTML • PDF, PostScript • HTML Help, JavaHelp • RTF • Manpages • Plain Text • ... DocBook 6
  8. 8. Nachteile von DocBook • kein WYSIWYG • kein DTP-Ersatz • nicht einfach – viele Tags (HTML: 90, DocBook: 400) – strikte Struktur – viele kooperierende Tools • perfekte Druckergebnisse schwierig DocBook 7
  9. 9. Einsatzbereiche • wiederholte Releases • verteilte Autorenschaft • große, komplexe Dokumente • mehrere Ausgabeformate • automatische Verarbeitung DocBook 8
  10. 10. Aktuelle Anwender GNOME, KDE, FreeBSD, Linux-Kernel, LDP, PostgreSQL, Debian, OpenLDAP, PHP, SuSE, Red Hat, Sun, O’Reilly, . . . DocBook 9
  11. 11. Verarbeitung Umwandlung von DocBook in Zielformat Dokument Prozessor HTML, RTF, ... DTD Stylesheet DocBook 10
  12. 12. Verarbeitung Umwandlung von DocBook ber Zwischenformat in Zielformat Dokument Prozessor XSL-FO, TeX Prozessor DTD Stylesheet PDF, PS DocBook 11
  13. 13. Die DocBook DTDs Document Type Definition — legt die Dokumentstruktur fest • f¨r XML und SGML u • Aktuell Version 4.4 • Ver¨ffentlicht von OASIS o Zuk¨nftig (Version 5): u • Relax NG Schemas • XML Schemas (experimentell) DocBook 12
  14. 14. DTD-Beispiel <!ELEMENT Chapter ((DocInfo?, Title, Subtitle?, TitleAbbrev?), ToCchap?, (((CalloutList | GlossList | ItemizedList | OrderedList | SegmentedList | SimpleList | VariableList | Caution | Important | Note | Tip | Warning | LiteralLayout | ProgramListing | ProgramListingCO | Screen | ScreenCO | ScreenShot | Synopsis | CmdSynopsis | FuncSynopsis | FormalPara | Para | SimPara | Address | BlockQuote | Graphic | GraphicCO | MediaObject | MediaObjectCO | InformalEquation | InformalExample | InformalFigure | InformalTable | Equation | Example | Figure | Table | MsgSet | Procedure | Sidebar | QandASet | Anchor | BridgeHead | Comment | Highlights | Abstract | AuthorBlurb | Epigraph | IndexTerm)+, (Sect1* | (RefEntry)* | SimpleSect* | Section*))| (Sect1+ | (RefEntry)+ | SimpleSect+ | Section+)), (Index | Glossary | Bibliography)*) > DocBook 13
  15. 15. Stylesheets • XSLT-Stylesheets – W3C-Standard – nur f¨r XML DTD u – Ausgabe: HTML, XHTML, HTML Help, XSL-FO, . . . • DSSSL-Stylesheets – ISO-Standard – f¨r XML und SGML DTDs u – Ausgabe: HTML, TEX, RTF DocBook 14
  16. 16. XSLT-Beispiel DocBook: Schreiben Sie an <email>user@domain.com</email>. <xsl:template match="email"> <xsl:call-template name="inline.monoseq"> <xsl:with-param name="content"> <xsl:text>&lt;</xsl:text> <a> <xsl:attribute name="href">mailto:<xsl:value-of select="."/></xsl:attribute> <xsl:apply-templates/> </a> <xsl:text>&gt;</xsl:text> </xsl:with-param> </xsl:call-template> </xsl:template> HTML: Schreiben Sie an <tt>&lt;<a href="mailto:user@domain.com">user@domain.com</a>&gt;</tt>. DocBook 15
  17. 17. DSSSL-Beispiel DocBook: Schreiben Sie an <email>user@domain.com</email>. (element email ($code-seq$ (make sequence (literal "<") (make element gi: "A" attributes: (list (list "HREF" (string-append "mailto:" (data (current-node))))) (process-children)) (literal ">")))) HTML: Schreiben Sie an <tt><<a href="mailto:user@domain.com">user@domain.com</a>></tt>. DocBook 16
  18. 18. XSLT-Prozessoren • xsltproc • Saxon • Xalan • ... DocBook 17
  19. 19. XSL-FO-Prozessoren Frei: • FOP • PassiveTEX Nicht frei: • Antenna House XSL Formatter • RenderX XEP • Unicorn Formatting Objects DocBook 18
  20. 20. DSSSL-Toolchain • Umwandlung DSSSL: Jade, OpenJade • Umwandlung TEX in PDF: JadeTEX DocBook 19
  21. 21. Schreibwerkzeuge • Texteditor • Editor mit SGML/XML-Modus • XML-Editor DocBook 20
  22. 22. Beispiele: Inline-Markup <para>Auf <trademark class="registered">UNIX</trademark>-Systemen steuert die Datei <filename>/etc/crontab</filename> die von <command>cron</command> ausgef&uuml;hrten Befehle.</para> <para><symbol>UINTMAX</symbol> ist gleich 2<superscript>32</superscript>-1.</para> DocBook 21
  23. 23. Beispiele: Listen <itemizedlist> <listitem> <para>Erster Punkt</para> </listitem> <listitem> <para>Zweiter Punkt</para> </listitem> <listitem> <para>Dritter Punkt</para> </listitem> </itemizedlist> DocBook 22
  24. 24. Beispiele: Formale Objekte Abbildungen, Beispiele, Gleichungen, Tabellen • automatisch nummeriert • automatisches Abbildungsverzeichnis usw. DocBook 23
  25. 25. Beispiele: Code <para>Dies ist ein sehr einfaches Shell-Skript: <programlisting> #!/bin/sh exit 0 </programlisting> </para> DocBook 24
  26. 26. Beispiele: Querverweise <chapter id="maus"> <title>Verwendung einer Maus</title> ... Siehe <xref linkend="maus"/>. HTML-Ausgabe: Siehe <a href="#maus">Kapitel 3, Verwendung einer Maus</a>. DocBook 25
  27. 27. Beispiele: Grafiken Unterst¨tzte Formate h¨ngen von der Toolchain ab. u a <mediaobject> <imageobject> <imagedata fileref="figures/eiffeltower.eps" format="eps"> </imageobject> <imageobject> <imagedata fileref="figures/eiffeltower.gif" format="gif"> </imageobject> <textobject> <phrase>The Eiffel Tower</phrase> </textobject> </mediaobject> DocBook 26
  28. 28. Customization DocBook DTD anpassbar: • Elemente hinzuf¨gen u • Elemente entfernen DocBook Stylesheets anpassbar: • neue Formatierungsregeln HTML-Ausgabe anpassbar: • CSS DocBook 27
  29. 29. Alternative Anwendungen • Simplified DocBook DTD • Module: EBNF, HTML Forms, MathML, SVG • Website DTD • Slides DTD • angepasste Rechtschreibpr¨fung u • Gettext-Integration DocBook 28
  30. 30. Zusammenfassung DocBook . . . • ist eine XML DTD f¨r technische Dokumente u • unterst¨tzt viele Ausgabeformate u • ist geeignet f¨r wiederholte und verteilte Bearbeitung u • ist nicht immer ganz einfach Weitere Informationen: • http://docbook.sourceforge.net/ DocBook 29

×