In Text umwandeln

(Auszug aus "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" von Thomas Schraitle)

DocBook-XML in einen Text zu konvertieren ist mit den Möglichkeiten von XSLT relativ einfach, allerdings gibt es derzeit keine vorgefertigten Stylesheets für diesen Zweck. Der direkte Weg scheidet momentan aus, daher gehen Sie den "Umweg" über HTML. Der Ablauf ist wie folgt:

  1. Validieren Sie zuerst Ihr Dokument und korrigieren Sie eventuelle Fehler.
  2. Transformieren Sie Ihr DocBook-Dokument mit dem Stylesheet xhtml/docbook.xsl in eine einzelne XHTML-Datei, nicht HTML! Dies ist wichtig, damit Sie nachher aus der XHTML-Datei eine Textdatei erhalten.
  3. Erzeugen Sie Ihre Textdatei, indem Sie Ihr HTML über einen Webbrowser in Text ausgeben. Hierfür eigenen sich folgende Programme:
    • Mit Mozilla Firefox. Wählen Sie den Eintrag Datei > Seite speichern unter... aus. Es öffnet sich eine Dialogbox, in der Sie im Dateityp den Eintrag Textdateien (*.txt; *.text) auswählen.
    • Mit Internet Explorer. Wählen Sie Seite > Speichern unter aus. Es öffnet sich eine Dialogbox, in der Sie im Dateityp den Eintrag Textdatei *.txt auswählen.
    • Mit Lynx:

      lynx -dump -nolist HTMLFILE > TEXTFILE

      Leider kann das Programm lynx nicht sehr gut mit Tabellen umgehen. In diesem Fall sollten Sie w3m ausprobieren. Die Option -nolist unterdrückt bei Lynx die Zusammenfassung der verwendeten Links in der ursprünglichen HTML-Datei. In den Manpages zu den Programmen finden Sie ausführlichere Informationen, wie Sie die Ausgabe steuern.

    • Mit Opera. Rufen Sie das Menü File > Save As... auf und wählen Sie unter File type den Eintrag Text file (*.txt) aus.
    • Mit w3m:

      w3m -dump HTMLFILE > TEXTFILE

Das Ergebnis ist davon abhängig, wieviel unnötiger "Ballast" die HTML-Datei enthält. Es leuchtet ein, dass bestimmte Konstrukte in HTML wie Links, Bilder usw. sich in Text schwer bis gar nicht umsetzen lassen. Ebenso werden Ihre CSS-Informationen nicht übernommen. Aus diesem Grund sollten Sie eine XSLT-Anpassungsdatei beim Transformieren nach XHTML verwenden, um das XHTML zu vereinfachen. Das folgende Beispiel zeigt Ihnen eine Möglichkeit.

Beispiel: Anpassungsdatei für Textausgabe über den Umweg XHTML

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:import href="DBBASISURI/xhtml/docbook.xsl"/>
    <!-- Keine Calloutgrafiken: -->
    <xsl:param name="callout.graphics" select="0"/>
    <!-- Callouts sollen als Unicode-Zeichen erscheinen: -->
    <xsl:param name="callout.unicode" select="0"/>
    <!-- Navigation ist in Texten nutzlos, daher abschalten: -->
    <xsl:param name="suppress.navigation" select="1"/>
    <!-- Inhaltsverzeichnis auf die wichtigsten Element einschränken: -->
    <xsl:param name="generate.toc">
appendix    toc,title
article/appendix    nop
article     toc,title
book        toc,title,figure,table,example,equation
set         toc,title
    </xsl:param>
</xsl:stylesheet>

Ersetzen Sie den Platzhalter DBBASISURI durch den entsprechenden offiziellen URI.

  

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema DocBook bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2009 Millin Verlag
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Millin Verlag, Siebengebirgsring 36, 53797 Lohmar, info(at)millin.de