Programmlistings

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

Zum Dokumentieren von Quellcode wird das Element programlisting verwendet. Der Inhalt wird beim Verarbeiten genau so verwendet, wie er eingegeben wurde. Dies ist besonders wichtig, wenn der Quellcode Leerzeichen und Umbrüche enthält, die originalgetreu wiedergegeben werden müssen (wie beispielsweise bei der Programmiersprache Python). Nutzen Sie das Element wie folgt:

<programlisting language="python">#!/usr/bin/python -u
import sys
import string
import commands

cmd = ["file", sys.argv[1], "| cut -d',' -f2" ]
cmd = string.join(cmd)

(res, out) = commands.getstatusoutput(cmd)

print res, out
</programlisting>

Das Attribut language ist optional, es hilft Ihnen jedoch später im XSLT-Schritt verschiedene Sprachen zu unterscheiden.

Wenn Sie keinen Quellcode auszeichnen möchten, sondern Text den ein Anwender auf seinem Bildschirm sieht, verwenden Sie screen. Es wird ebenso genutzt, um das Ergebnis eines Befehls anzuzeigen:

$ ls -F /
bin/ dev/ home/ local/ mnt/ proc/ sbin/ sys/ usr/
boot/ etc/ lib/ media/ opt/ root/ srv/ tmp/ var/

In den vorigen Beispielen wurde der Quellcode bzw. Inhalt direkt eingefügt. Falls sich dieser jedoch in einer externen Datei befindet, gibt es zwei Methoden, um darauf zu referenzieren:

textobject

Verwenden Sie textobject innerhalb von programlisting und verweisen Sie auf die externe Datei im Element textdata. Damit das Einfügen der Datei funktioniert, benötigen Sie eine Erweiterungsfunktion in Ihrem XSLT-Prozessor (siehe Erweiterungsfunktionen und Erweiterungselemente).

XInclude

Verwenden Sie das Element xi:include der XInclude-Spezifikation (siehe Einbinden über XIncludes). Sie benötigen einen XSLT-Prozessor, der die XInclude-Elemente durch die referenzierte Datei auflösen kann. Gegenwärtig ist die bei xsltproc der Fall, Saxon benötigt eine Anpassung.

Anmerkung: Vermeiden Sie unerwünschte Einrückungen in XML-Editoren
Manche XML-Editoren rücken bei der Codeformatierung programmlisting und dessen Inhalt automatisch ein, oder sogar schlimmer, sie zerstören Umbrüche und entfernen Leerzeichen. Dies ist schlecht, da genau dieses besonders wichtig ist.
Konfigurieren Sie Ihren XML-Editor so, dass er programmlisting, screen und ähnliche Elemente beim Formatieren unangetastet lässt. Zusätzlich sollten Sie Ihren Quellcode immer in der ersten Spalte beginnen lassen, um ein konsistentes Aussehen zu erhalten.

Die in diesem Abschnitt gezeigten Methoden gelten sowohl für programlisting als auch für screen. Die Attribute sind in beiden Elementen dieselben.

  

  

  

<< 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