TimeHelper (Veraltet)
Die Datums-/Uhrzeitfunktionen der Java-Klasse de.softproject.xsl.TimeHelperDate
zur Verwendung innerhalb von XSL-Mappings sind veraltet und werden in künftigen Versionen der X4 BPMS abgekündigt.
Die Java-Klasse de.softproject.xsl.TimeHelperDate
befindet sich innerhalb der X4 Server-Bibliothek x4-client.jar
(<X4>\Server\<wildfly>\modules\system\layers\base\de\softproject\x4\client\main
).
Ein XSL-Mapping, das diese Hilfsklasse verwendet, kann nicht in der Transformations-Vorschau des Mapping Editor ausgeführt werden.
Datum/Uhrzeit-Methoden
addDay( | Fügt einem |
addHour( | Fügt einem |
addMillisecond( | Fügt einem |
addMinute( | Fügt einem |
addMonth( | Fügt einem |
addSecond( | Fügt einem |
addYear( | Fügt einem |
asMilliseconds( | Gibt ein |
canParse( | Überprüft das Format einer Datums mit optionalem Parameter UNBEKANNTER ANHANG Hier wird lediglich das Format und nicht die Gültigkeit des Ergebnisses überprüft. |
canParseDefaultFormat( | Überprüft, ob das verwendete Datumsformat mit optionalem Parameter |
createDefaultFormat( | Gibt das aktuelle Datum (mit optionalem Parameter |
createFormat( | Gibt das aktuelle Datum ( mit optionalem Parameter UNBEKANNTER ANHANG Mehr Informationen zu den Datums-/Zeitformaten siehe http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html |
differenceInMilliseconds( | Berechnet den Unterschied zwischen zwei |
format( | Formatiert ein |
formatDefaultFormat( | Formatiert ein |
fromMilliseconds( | Konvertiert eine Zeitangabe in Millisekunden in e in Objekt vom Typ |
getDay( | Ermittelt den Tag aus einem |
getDayOfWeek( | Ermittelt den Wochentag aus einem UNBEKANNTER ANHANG Die Zählung der Wochentage beginnt bei Sonntag mit 1:
|
getDayOfWeekInMonth( | Ermittelt den Wochentag im Monat (z.B. "der wievielte Dienstag im Monat") aus einem |
getDayOfYear( | Ermittelt den Tag des Jahres aus einem |
getHour( | Ermittelt die Stunden aus einem |
getMilliSecond( | Ermittelt die Millisekunden aus einem |
getMinute( | Ermittelt die Minuten aus einem |
getMonth( | Ermittelt den Monat aus einem UNBEKANNTER ANHANG Die Zählung der Monate beginnt mit 0:
|
getSecond( | Ermittelt die Sekunden aus einem |
getWeekOfMonth( | Ermittelt die Woche des Monats aus einem |
getWeekOfYear( | Ermittelt die Kalenderwoche aus einem |
getYear( | Ermittelt das Jahr aus einem |
isAfter( | Überprüft, ob ein |
isBefore( | Überprüft, ob sich ein |
now() | Ermittelt das aktuelle Datum und gibt dieses als Objekt vom Typ |
parse( | Liest eine Zeitangabe in |
parseDefaultFormat( | Liest eine Zeitangabe in |
setBeginOfDay( | Liefert für das eingegebene |
setBeginOfMonth( | Liefert für das eingegebene |
setBeginOfYear( | Liefert für das eingegebene |
setDay( | Liefert für das eingegebene UNBEKANNTER ANHANG Ist die eingegeben Zahl höher als die Anzahl der tatsächlichen Tage des Monats, wird die Differenz auf den/die Folgemonat(e) angerechnet. |
setDayOfYear( | Liefert für das eingegebene |
setEndOfDay( | Liefert für das eingegebene |
setEndOfMonth( | Liefert für das eingegebene |
setEndOfYear( | Liefert für das eingegebene |
setHour( | Liefert für das eingegebene UNBEKANNTER ANHANG Ist die eingegebene Zahl größer als 24, wird die Stundendifferenz auf den/die Folgetag(e) angerechnet. |
setMillisecond( | Liefert für das eingegebene |
setMinute( | Liefert für das eingegebene UNBEKANNTER ANHANG Ist die eingegebene Zahl größer ist als 60, wird die Differenz auf die Folgestunde(n) angerechnet. |
setMonth( | Liefert für das eingegebene UNBEKANNTER ANHANG Die Zählung der Monate beginnt mit 0:
Ist die eingegebene Zahl größer als 11, wird die Differenz auf das/die Folgejahr(e) angerechnet. |
setSecond( | Liefert für das eingegebene UNBEKANNTER ANHANG Ist die eingegebene Zahl größer ist als 60, wird die Differenz auf die Folgeminute(n) angerechnet. |
setYear( | Liefert für das eingegebene |
Beispiel
In diesem Beispiel werden stellvertretend für alle Methoden Variablen mit je einem Methodenaufruf initialisiert und deren Rückgabewert in einem entsprechend benannten XML-Element ausgegeben. Hierfür werden im Kopf des XSL-Stylesheets zunächst die Namensräume x4time
für die TimeHelper-Klasse sowie sdf
fürs Java-SimpleDateFormat definiert. Zudem werden in Variable date
und from_date
zwei Variablen mit einem java.util.Date
-Objekt für den weiteren Gebrauch als Beispieldaten initialisiert.
<xsl:stylesheet xmlns:sdf="java.text.SimpleDateFormat" xmlns:x4time="de.softproject.xsl.TimeHelperDate" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output indent="yes" method="xml" media-type="text/xml"></xsl:output>
<xsl:template match="/">
<!-- Get date/time values -->
<xsl:variable select="x4time:now()" name="date"></xsl:variable>
<xsl:variable select="x4time:addDay($date, 1)" name="from_date"></xsl:variable>
<Output>
<!-- Output method return values -->
<now><xsl:value-of select="$date"></xsl:value-of></now>
<!-- method addDay -->
<xsl:variable select="x4time:addDay($date, 8)" name="addDayDate"></xsl:variable>
<addDay type="date">
<xsl:value-of select="$addDayDate"></xsl:value-of>
</addDay>
<!-- method asMilliseconds -->
<xsl:variable select="x4time:asMilliseconds($date)" name="asMillisecondsDate"></xsl:variable>
<asMilliseconds type="date">
<xsl:value-of select="$asMillisecondsDate"></xsl:value-of>
</asMilliseconds>
<!-- method canParse with Timezone-->
<xsl:variable select="x4time:canParse('yyyy-MM-dd', 'CET','2013.07.111')" name="canParseWithTimezone"></xsl:variable>
<canParse type="withTimezone">
<xsl:value-of select="$canParseWithTimezone"></xsl:value-of>
</canParse>
<!-- method canParseDefaultFormat -->
<xsl:variable select="x4time:canParseDefaultFormat('2013-07-111 16:56:45.123')" name="canParseDefaultFormatSimple"></xsl:variable>
<canParseDefaultFormat type="simple">
<xsl:value-of select="$canParseDefaultFormatSimple"></xsl:value-of>
</canParseDefaultFormat>
<!-- method createDefaultFormat with timezone -->
<xsl:variable select="x4time:createDefaultFormat('PST')" name="sdf_default_withTimezone"></xsl:variable>
<createDefaultFormatTz type="withTimezone">
<xsl:value-of select="sdf:format($sdf_default_withTimezone, $date)"></xsl:value-of>
</createDefaultFormatTz>
<!-- method createFormat with timezone -->
<xsl:variable select="x4time:createFormat('yyyy-MMM-dd EE','CET')" name="sdf_simpleWithTimezone"></xsl:variable>
<createFormatTz type="withTimezone">
<xsl:value-of select="sdf:format($sdf_simpleWithTimezone, $date)"></xsl:value-of>
</createFormatTz>
<!-- method differenceInMilliseconds: date to date -->
<xsl:variable select="x4time:differenceInMilliseconds($date, $from_date)" name="differenceInMillisecondsDate"></xsl:variable>
<differenceInMilliseconds type="date">
<xsl:value-of select="$differenceInMillisecondsDate"></xsl:value-of>
</differenceInMilliseconds>
<!-- method format with Timezone -->
<xsl:variable select="x4time:format('yyyy-MM-dd z','CET',$date)" name="formatWithTimezone"></xsl:variable>
<formatTZ type="withTimezone">
<xsl:value-of select="$formatWithTimezone"></xsl:value-of>
</formatTZ>
<!-- method formatDefaultFormat with timezone -->
<xsl:variable select="x4time:formatDefaultFormat('PST',$date)" name="formatDefaultFormatWithTimezone"></xsl:variable>
<formatDefaultFormat type="withTimezone">
<xsl:value-of select="$formatDefaultFormatWithTimezone"></xsl:value-of>
</formatDefaultFormat>
<!-- method fromMilliseconds -->
<xsl:variable select="x4time:fromMilliseconds(1374483531161)" name="fromMilliseconds"></xsl:variable>
<fromMilliseconds type="date">
<xsl:value-of select="$fromMilliseconds"></xsl:value-of>
</fromMilliseconds>
<!-- method getDayOfWeek with timezone -->
<xsl:variable select="x4time:getDayOfWeek($date, PST)" name="getDayOfWeekWithTimezone"></xsl:variable>
<getDayOfWeekTZ type="withTimezone">
<xsl:value-of select="$getDayOfWeekWithTimezone"></xsl:value-of>
</getDayOfWeekTZ>
<!-- method isAfter -->
<xsl:variable select="x4time:isAfter($date, $from_date)" name="isAfter"></xsl:variable>
<isAfter type="date">
<xsl:value-of select="$isAfter"></xsl:value-of>
</isAfter>
<!-- method now -->
<xsl:variable select="x4time:now()" name="now"></xsl:variable>
<now type="date">
<xsl:value-of select="$now"></xsl:value-of>
</now>
<!-- method parse with timezone -->
<xsl:variable select="x4time:parse('yyyy-MM-dd','PST','2013-07-22')" name="parseWithTimezone"></xsl:variable>
<parseTZ type="withTimezone">
<xsl:value-of select="$parseWithTimezone"></xsl:value-of>
</parseTZ>
<!-- method parseDefaultFormat with timezone -->
<xsl:variable select="x4time:parseDefaultFormat('PST','2013-07-22 05:24:30.376')" name="parseDefaultFormatWithTimezone"></xsl:variable>
<parseDefaultFormatTZ type="withTimezone">
<xsl:value-of select="$parseDefaultFormatWithTimezone"></xsl:value-of>
</parseDefaultFormatTZ>
<!-- method setBeginOfDay -->
<xsl:variable select="x4time:setBeginOfDay($date)" name="setBeginOfDay"></xsl:variable>
<setBeginOfDay type="date">
<xsl:value-of select="$setBeginOfDay"></xsl:value-of>
</setBeginOfDay>
<!-- method setDay with timezone -->
<xsl:variable select="x4time:setDay($date, 32, PST)" name="setDayDateWithTimezone"></xsl:variable>
<setDayTZ type="WithTimezone">
<xsl:value-of select="$setDayDateWithTimezone"></xsl:value-of>
</setDayTZ>
<!-- method setEndOfDay -->
<xsl:variable select="x4time:setEndOfDay($date)" name="setEndOfDay"></xsl:variable>
<setEndOfDay type="date">
<xsl:value-of select="$setEndOfDay"></xsl:value-of>
</setEndOfDay>
<!-- method setMinute with Timezone -->
<xsl:variable select="x4time:setMinute($date, 72)" name="setMinuteDate"></xsl:variable>
<setMinuteTZ type="date">
<xsl:value-of select="$setMinuteDate"></xsl:value-of>
</setMinuteTZ>
</Output>
</xsl:template>
</xsl:stylesheet>