AndreasW: Datumsformatierung

Beitrag lesen

http://www.w3schools.com/schema/schema_dtypes_date.asp

Wie kann ich den XSLT-Prozessor einfach anweisen, eine Datumsangabe zu formatieren ? Also zum Beispiel

<sendung datum="2002-01-03"/>

soll in der Ausgabe zu "3.Januar 2002" mutieren.

<xsl:value-of select="@datum"/>

ralf ...

Hallo,

Teil 1 (der Tag):
<xsl:value-of select="number(substring(@datum,9))"/>xsl:text.</xsl:text>

Die number-Funktion ist notwendig, um die führende Null wegzukriegen.
die 9 kommt daher, daß substring bei 1 zu zählen beginnt, nicht bei 0!

Teil 3 (das Jahr):
<xsl:value-of select="substring(@datum,1,4)"/>

Teil 2 (der Monat) ist etwas aufwendiger:
xsl:choose
 <xsl:when test="substring(@datum,6,2) =  1">Januar</xsl:when>
 <xsl:when test="substring(@datum,6,2) =  2">Februar</xsl:when>
 <xsl:when test="substring(@datum,6,2) =  3">März</xsl:when>
 <xsl:when test="substring(@datum,6,2) =  4">April</xsl:when>
 <xsl:when test="substring(@datum,6,2) =  5">Mai</xsl:when>
 <xsl:when test="substring(@datum,6,2) =  6">Juni</xsl:when>
 <xsl:when test="substring(@datum,6,2) =  7">Juli</xsl:when>
 <xsl:when test="substring(@datum,6,2) =  8">August</xsl:when>
 <xsl:when test="substring(@datum,6,2) =  9">September</xsl:when>
 <xsl:when test="substring(@datum,6,2) = 10">Oktober</xsl:when>
 <xsl:when test="substring(@datum,6,2) = 11">November</xsl:when>
 <xsl:when test="substring(@datum,6,2) = 12">Dezember</xsl:when>
</xsl:choose>

(vielleicht gibt es für den Monat eine einfachere Lösung, meine funktioniert zumindest)

Die 3 Teile mußt Du dann noch in der richtigen Reihenfolge zusammensetzen, aber das schaffst Du hoffentlich.