Benutze EXSLT, damit der Fehleranfällige date.xsl-Kram entfällt (der 23.5.2006 ist kein Mittwoch, übler fnord)

git-svn-id: svn://svn.c3d2.de/c3d2-web/trunk@320 31f61c52-7bfb-0310-b897-fc00f8a278f0
This commit is contained in:
astro 2006-05-23 01:53:48 +00:00
parent f55836f48f
commit 4ba899bd54
1 changed files with 59 additions and 23 deletions

View File

@ -4,14 +4,14 @@
xmlns:date="http://exslt.org/dates-and-times"
exclude-result-prefixes="xsl">
<xsl:template name="isleap">
<!--xsl:template name="isleap">
<xsl:param name="year" />
<xsl:value-of select="$year mod 4 = 0 and ($year mod 100 != 0 or $year mod 400 = 0)" />
</xsl:template>
<xsl:template name="leapdays">
<!-- Berechnet die Schalttage, die bis $year seit 1970 vergangen sind -->
<- Berechnet die Schalttage, die bis $year seit 1970 vergangen sind ->
<xsl:param name="year" />
<xsl:variable name="four">
@ -30,7 +30,7 @@
</xsl:template>
<xsl:template name="correct-seconds">
<!-- Berechnet die Sekunden die vergangen wären, wenn es keine Schaltjahre gäbe -->
<- Berechnet die Sekunden die vergangen wären, wenn es keine Schaltjahre gäbe ->
<xsl:param name="seconds" />
<xsl:variable name="yearguessed">
@ -244,34 +244,36 @@
</xsl:template>
<xsl:template name="get-dayofweek">
<!-- 1 entspricht Montag -->
<- 1 entspricht Montag ->
<xsl:param name="seconds" />
<!-- 1. Januar 1970 war ein Donnerstag -->
<- 1. Januar 1970 war ein Donnerstag ->
<xsl:value-of select="(floor($seconds div 86400) + 3) mod 7 + 1" />
</xsl:template>
</xsl:template-->
<xsl:template name="get-dayofweekstring">
<xsl:param name="seconds" />
<xsl:param name="date" />
<!--xsl:param name="seconds" /-->
<xsl:variable name="dayofweek">
<xsl:call-template name="get-dayofweek">
<xsl:value-of select="date:day-in-week($date)"/>
<!--xsl:call-template name="get-dayofweek">
<xsl:with-param name="seconds" select="$seconds" />
</xsl:call-template>
</xsl:call-template-->
</xsl:variable>
<xsl:choose>
<xsl:when test="$dayofweek = 1">Montag</xsl:when>
<xsl:when test="$dayofweek = 2">Dienstag</xsl:when>
<xsl:when test="$dayofweek = 3">Mittwoch</xsl:when>
<xsl:when test="$dayofweek = 4">Donnerstag</xsl:when>
<xsl:when test="$dayofweek = 5">Freitag</xsl:when>
<xsl:when test="$dayofweek = 6">Samstag</xsl:when>
<xsl:when test="$dayofweek = 7">Sonntag</xsl:when>
<xsl:when test="$dayofweek = 2">Montag</xsl:when>
<xsl:when test="$dayofweek = 3">Dienstag</xsl:when>
<xsl:when test="$dayofweek = 4">Mittwoch</xsl:when>
<xsl:when test="$dayofweek = 5">Donnerstag</xsl:when>
<xsl:when test="$dayofweek = 6">Freitag</xsl:when>
<xsl:when test="$dayofweek = 7">Samstag</xsl:when>
<xsl:when test="$dayofweek = 1">Sonntag</xsl:when>
</xsl:choose>
</xsl:template>
<xsl:template name="get-timestring">
<!--xsl:template name="get-timestring">
<xsl:param name="seconds" />
<xsl:variable name="hour">
@ -285,15 +287,17 @@
</xsl:variable>
<xsl:value-of select="concat($hour, ':', $minute, ':', $second)" />
</xsl:template>
</xsl:template-->
<xsl:template name="get-monthstring">
<xsl:param name="seconds" />
<xsl:param name="date" />
<!--xsl:param name="seconds" /-->
<xsl:variable name="month">
<xsl:call-template name="get-month">
<xsl:value-of select="date:month-in-year($date)"/>
<!--xsl:call-template name="get-month">
<xsl:with-param name="seconds" select="$seconds" />
</xsl:call-template>
</xsl:call-template-->
</xsl:variable>
<xsl:choose>
@ -315,7 +319,39 @@
<xsl:template name="get-datestring">
<xsl:param name="date" />
<xsl:variable name="seconds">
<!-- Dienstag, 24. Mai 2006 um 00:23:05 -->
<xsl:call-template name="get-dayofweekstring">
<xsl:with-param name="date" select="$date"/>
</xsl:call-template>
<xsl:text>, </xsl:text>
<xsl:value-of select="date:day-in-month($date)"/>
<xsl:text>. </xsl:text>
<xsl:call-template name="get-monthstring">
<xsl:with-param name="date" select="$date"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="date:year($date)"/>
<xsl:text> um </xsl:text>
<xsl:variable name="hour_in_day">
<xsl:if test="string-length(date:hour-in-day($date))=1">0</xsl:if>
<xsl:value-of select="date:hour-in-day($date)"/>
</xsl:variable>
<xsl:variable name="minute_in_hour">
<xsl:if test="string-length(date:minute-in-hour($date))=1">0</xsl:if>
<xsl:value-of select="date:minute-in-hour($date)"/>
</xsl:variable>
<xsl:variable name="second_in_minute">
<xsl:if test="string-length(date:second-in-minute($date))=1">0</xsl:if>
<xsl:value-of select="date:second-in-minute($date)"/>
</xsl:variable>
<xsl:value-of select="$hour_in_day"/>:<xsl:value-of select="$minute_in_hour"/>:<xsl:value-of select="$second_in_minute"/>
<!--xsl:variable name="seconds">
<xsl:value-of select="date:seconds($date)" />
</xsl:variable>
@ -349,7 +385,7 @@
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="concat($dayofweekstring, ', ', $dayofmonth, '. ', $monthstring, ' ', $year, ' um ', $timestring)" />
<xsl:value-of select="concat($dayofweekstring, ', ', $dayofmonth, '. ', $monthstring, ' ', $year, ' um ', $timestring)" /-->
</xsl:template>