http://www.w3.org/1999/XSL/Transform

c.dateWithin ([currentDate : datetime], dateFrom : datetime, dateUntil : string) : boolean

Die Methode dateWithin prüft, ob das aktuelle Datum, sowie die aktuelle Uhrzeit zwischen dem angegebenen Zeitraum liegt. Dies wird anhand der Parameter dateFrom und dateUntil geprüft. Einer der beiden Parameter kann dabei eine Leerzeichenkette enthalten, um die Gültigkeit ab oder bis zu einem Zeitpunkt zu prüfen.

Über die Angabe des optionalen Parameters currentDate kann ein spezifisches Datum geprüft werden. Der Rückgabewert besagt, ob das zu prüfende Datum sich innerhalb des Zeitraums befindet.

Wenn die Methode dateWithin ohne Angabe eines spezifischen Datums aufgerufen wird verwendet die Berechnung die aktuelle Systemzeit. In diesem Fall hat der Methodenaufruf eine Auswirkung auf das Caching. Wird zum Beispiel um 14 Uhr geprüft, ob sich der aktuelle Zeitpunkt zwischen 15 und 19 Uhr befindet, verfällt das Transformationsergebnis automatisch um 15 Uhr, da das Template zu diesem Zeitpunkt zu einem anderen Ergebnis führen würde.

<xsl:if test="c.dateWithin('2007-01-01T12:00:00', '2007-01-01T14:00:00')"> ... </xsl:if>
Gültigkeit von 12 bis 14 Uhr

Das folgende Beispiel filtert eine Menge von Objekten nach ihren Gültigkeitszeiträumen. Gegeben sei das folgende Quelldokument:

<items>
<item validFrom="2010-01-01T00:00:00" validUntil="2011-01-01T00:00:00" name="Element A" />
<item validFrom="2050-07-01T00:00:00" name="Element B" />
<item validUntil="2012-08-01T00:00:00" name="Element C" />
<item name="Element D" />
</items>
<xsl:stylesheet version="1.0">
<xsl:for-each select="items/item[c.dateWithin(@validFrom, @validUntil)]"> Gültiges Element:
<xsl:value-of select="@name" />
</xsl:for-each>
</xsl:stylesheet>
Gültigkeitsfilterung von Mengen

Die Ausführung dieser Transformation am 15.03.2006 wird zu folgendem Ergebnis führen:

Gültiges Element: Element A
Gültiges Element: Element C
Gültiges Element: Element D

  1. Das Element A wird als gültig erklärt, da es der Gültigkeitszeitraum auf das ganze Jahr beschränkt ist.
  2. Das Element B ist ungültig, da es erst ab dem 01.07.2050 gültig ist. Die fehlende Angabe des validUntil-Attributs führt zu einer unbegrenzten Gültigkeit ab diesem Zeitpunkt
  3. Das Element C ist gültig, da es erst zum 01.08.2012 ungültig wird.
  4. Das Element D ist immer gültig, da es keinen Gültigkeitszeitraum beschreibt