Mehrere Profiling-Attribute, mehrere Attributwerte

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

DocBook erlaubt, mehrere Attribute in einem Element anzugeben. Vorstellbar wäre somit ein Dokument, das für verschiedene Betriebssysteme ein zusätzliches Attribut userlevel enthält, um zwischen Benutzer und Administrator zu unterscheiden. Ausgehend vom Beispiel profiling-book-001.xml lassen sich diese Informationen wie folgt unterbringen:

Beispiel: profiling-book-002.xml

<book>
    <chapter>
        <title>Installation</title>
        <section os="linux" userlevel="user;admin">
            <title>Installationsmedium</title>
            <para>Die Installation unter Linux...</para>
            <para userlevel="admin">Für den Admin ...</para>
        </section>
        <section os="win" userlevel="user;admin">
            <title>Installationsmedium</title>
            <para>Die Installation unter Windows.</para>
            <para userlevel="admin">Weiteres für den Admin.</para>
        </section>
        <section userlevel="user;admin">
            <title>Hilfe</title>
            <section userlevel="admin">
                <title>Einrichten der Hilfe</title>
                <para>Wie man die Hilfe einrichtet.</para>
            </section>
            <section userlevel="user">
                <title>Wo finde ich was?</title>
                <para>...</para>
            </section>
        </section>
    </chapter>
</book>

Das obige Dokument besteht aus vier Varianten: Benutzerdokumentation für Linux und Windows und Dokumentation für den Administrator unter Linux und Windows. Die folgende Matrix zeigt die notwendigen Parameter, um die entsprechende Variante zu erhalten:

OS Benutzer Administrator
Linux profile.os=linux
profile.userlevel=user
profile.os=linux
profile.userlevel=admin
Windows profile.os=win
profile.userlevel=user
profile.os=win
profile.userlevel=admin

Um aus diesen Kombinationen die Variante zu erhalten, die einer Linux-Dokumentation für Benutzer entspricht, suchen Sie den Schnittpunkt in der obigen Tabelle und erhalten die notwendigen Parameter. Der Aufruf lautet daher:

xsltproc --stringparam profile.os "linux" \
         --stringparam profile.userlevel "user" \
         html/profile-docbook.xsl \
         prof-book-002.xml

Beim obigen Aufruf wird folgende Datei erzeugt (unnötige Leerzeilen wurden zusammengefasst):

<?xml version="1.0" ?>
<book>
    <chapter>
        <title>Installation</title>
        <section os="linux" userlevel="user;admin">
            <title>Installationsmedium</title>
            <para>Die Installation unter Linux.</para>
        </section>
        <section userlevel="user;admin">
            <title>Hilfe</title>
            <para>Wie man die Hilfe einrichtet.</para>
            <section userlevel="user">
                <title>Wo finde ich was?</title>
                <para>...</para>
            </section>
        </section>
    </chapter>
</book>
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