Ausgeben des aktuellen Datums

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

Für Dokumente, die ein Veröffentlichungsdatum auf der Titelseite benötigen, lässt sich dieses automatisch einfügen. Hierzu benötigen Sie allerdings eine Erweiterungsfunktion von EXSLT. Gehen Sie wie folgt vor:

  1. Erstellen Sie eine Anpassungsdatei
    Legen Sie eine Anpassungsdatei an wie in Anlegen einer Anpassungsdatei gezeigt.
  2. Einfügen eines Parameters
    Fügen Sie einen Parameter nach der xsl:import-Anweisung ein. Dieser Parameter beschreibt das Datumsformat:
<xsl:param name="date.format">d-B-Y</xsl:param>
  1. Vornehmen der Änderungen
    Fügen Sie nachfolgende Änderungen in Ihre Anpassungsdatei ein:
<xsl:template name="article.titlepage.verso"> 
    <xsl:choose> 
        <xsl:when test="function-available('date:date-time') or function-available('date:dateTime')"> 
            <div class="titlepage-verso"> 
                <p> 
                    <xsl:call-template name="gentext"> 
                        <xsl:with-param name="key" select="'Published'"/> 
                    </xsl:call-template> 
                    <xsl:text>: </xsl:text> 
                    <xsl:call-template name="datetime.format"> 
                        <xsl:with-param name="date"> 
                            <xsl:choose> 
                                <xsl:when test="function-available('date:date-time')"> 
                                    <xsl:value-of select="date:date-time()"/> 
                                </xsl:when> 
                                <xsl:when test="function-available('date:dateTime')"> 
                                    <!-- Xalan Eigenart: --> 
                                    <xsl:value-of select="date:dateTime()"/> 
                                </xsl:when> 
                            </xsl:choose> 
                        </xsl:with-param> 
                        <xsl:with-param name="format" select="$date.format"/> 
                    </xsl:call-template> 
                </p> 
            </div> 
        </xsl:when> 
        <xsl:otherwise> 
            <xsl:message>Sie benötigen einen XSLT-Prozessor mit EXSLT und date-Unterstützung.</xsl:message> 
        </xsl:otherwise> 
    </xsl:choose> 
</xsl:template> 
  1. Transformieren
    Transformieren Sie Ihr Dokument mit Ihrer Anpassungsdatei.

Obige Schritte sind ebenso für XSL-FO möglich. Sie müssen lediglich das div-Element von (X)HTML durch fo:block von XSL-FO ersetzen.

In der Anpassungsdatei wurde das Veröffentlichungsdatum im Template article.titlepage.verso ausgegeben. Dadurch erscheint es nach den titlepage-Elementen. Innerhalb des Templates wird mittels function-available überprüft, ob die EXSLT-Funktion date:date-time bzw. date:dateTime vorhanden ist. Dies ist nur der Fall, wenn Sie einen XSLT-Prozessor verwenden, der diese Funktionen unterstützt. Falls erfolgreich, wird innerhalb eines div-Elements die lokalisierte Zeichenkette für Published ausgegeben; für Deutsch ist dies Veröffentlicht. Danach wird das Template datetime.format aufgerufen, das ein Datum durch eine Formatvorgabe formatiert. Wie das Datum formatiert wird, ist im Parameter date.format hinterlegt. Die genaue Syntax ist in Aktuelle Zeit- und Datumsangaben einfügen beschrieben.

  

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