Datumswert mit fn:current-date()

(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 3.)

Um das aktuelle Systemdatum zu erfragen, genügt der Aufruf der Funktion fn:current-date() – der Wert kann beispielsweise in eine Variable abgelegt werden und innerhalb einer Templateregel eingesetzt werden:

<xsl:variable name="heute" select="fn:current-date()"/>

Code-Beispiel: kap03/3.05/date.xsl (Auszug).

Die Funktion liefert einen Datumswert, typisiert als xs:date zurück. Als String ausgegeben, sieht der Rückgabewert (für den 1. Juli 2007) folgendermaßen aus:

2007-07-01+01:00

Hier ist in Form von +01:00 eine Zeitzonenangabe enthalten, der eigentliche Datumsstring folgt der Form YYYY-MM-DD.

Formatierung eines Datumswertes für die Ausgabe

Meist möchte man ihn jedoch nicht in dieser Form verwenden. Die XSLT-Funktion format-date() ermöglicht eine beliebige Formatierung des Datumsstrings für die Ausgabe. Um eine Ausgabe in der Form »01.07.2007« zu erhalten, übergibt man der Funktion den Datumswert und einen Formatierungsstring:

<xsl:value-of select="format-date($heute,'[D01].[M01].[Y0001]')"/>

Code-Beispiel: kap03/3.05/date.xsl (Auszug).

Hierbei wird als erster Parameter der zu formatierende Wert übergeben. Der Formatierungsstring enthält Substrings in eckigen Klammern, die Platzhalter für die zu extrahierenden Komponenten darstellen. Dazwischen stehen Zeichen­literale, die unverändert weitergegeben werden – hier sind es trennende Punkte.

   

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

Copyright © Galileo Press, Bonn 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSLT 2.0 & XPath 2.0 ― Das umfassende Handbuch" 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.


Galileo Press, Rheinwerkallee 4, 53227 Bonn