Zum Hauptinhalt springen

Übersicht

DocBook ist eine SoftwareSuite zur Erstellung von Büchern, Artikeln und Dokumentationen im technischen Umfeld, wie z.B. Release Notes, Benutzerhandbücher als PDF-Datei und Online-Hilfe im HTML-Format. Ein besonderes Merkmal ist das Single-Source Prinzip. Hier reicht eine Datenquelle um daraus verschiedene Zielformate (z.B. HTML, PDF) generieren zu können. Ein weiteres Merkmal ist die Verwendung von XML und SGML als Datenbasisformate, so dass Dokumentationen automatisiert erstellt werden können.

Installation auf z.B. Ubuntu-Systemen

  • apt-get install docbook5-xml
  • apt-get install xmlstarlet
  • apt-get install fop
  • apt-get install xsltproc
  • apt-get install xmlto

Das erste Dokument - docbook5.xml

<?xml version="1.0" encoding="UTF-8"?>

<book xmlns='http://docbook.org/ns/docbook'>
  <title>Das ist der Titel des Buches</title>
  <titleabbrev>Titel Kurzbeschreibung</titleabbrev>
  <info>
    <legalnotice><para>Eine Notiz</para></legalnotice>
    <author><personname>
      <firstname>Guido</firstname><surname>Frohn</surname>
    </personname></author>
  </info>

  <dedication>
  <para>
      Dieses Buch ist für Sie bestimmt.
  </para>
  </dedication>

  <preface>
    <title>Vorwort</title>
    <para>
        Ein Vorwort ist obligatorisch.
    </para>
  </preface>

  <chapter>
    <title>Das ist der Titel des erste Kapitels</title>
    <para>
        Das ist der Inhalt des ersten Kapitels.
    </para>
  </chapter>

  <appendix>
    <title>Anhang</title>
    <para>
        Das ist der Inhalt des optionalen Anhangs.
    </para>
  </appendix>
</book>
 

XML Validierung und Transformation nach PDF

echo "PDF Generierung..."
echo "Validierung mit JING (Input RNG (RELAX NG) und XML)..."
wget docbook.org/xml/5.0/rng/docbook.rng
wget docbook.org/xml/5.0/rng/docbook.rnc
jing -f ./docbook.rng ./docbook5.xml
echo "Validierung mit XMLSTARLET (Input XSD, XML)..."
xmlstarlet val --err --xsd /usr/share/xml/docbook/schema/xsd/5.0/docbook.xsd ./docbook5.xml
echo "XSLPROC (Input XSL, XML) -> FO..."
xsltproc /usr/share/xml/docbook/stylesheet/docbook-xsl-ns/fo/docbook.xsl ./docbook5.xml > ./docbook5.fo
echo "FOP (Input FO) -> PDF..."
fop -fo ./docbook5.fo -pdf ./docbook5.pdf