Форматирование дат в XSLT

<xsl:template name="format-date">
    <xsl:param name="date"/>
    <!-- day -->
    <xsl:value-of select="substring($date, 9, 2)"/>
    <xsl:text>-</xsl:text>
    <!-- month -->
    <xsl:variable name="m" select="substring($date, 6, 2)"/>
    <xsl:value-of select="substring('JanFebMarAprMayJunJulAugSepOctNovDec', 3*($m - 1)+1, 3)"/>
    <xsl:text>-</xsl:text>
    <!-- year -->
    <xsl:value-of select="substring($date, 1, 4)"/>
</xsl:template>

<xsl:template name="format-date-iso">
    <xsl:param name="date"/>
    
    <xsl:value-of select="substring($date, 1, 4)"/>
    <xsl:text>-</xsl:text>
    <xsl:value-of select="substring($date, 6, 2)"/>
    <xsl:text>-</xsl:text>
    <xsl:value-of select="substring($date, 9, 2)"/>
</xsl:template>

<xsl:template name="format-date-ru">
    <xsl:param name="date"/>

    <xsl:value-of select="substring($date, 9, 2)"/>
    <xsl:text>.</xsl:text>
    <xsl:value-of select="substring($date, 6, 2)"/>
    <xsl:text>.</xsl:text>
    <xsl:value-of select="substring($date, 1, 4)"/> 
</xsl:template>

Вызов:

<xsl:call-template name="format-date-ru">
	<xsl:with-param name="date">
		<xsl:value-of select="." />								
	</xsl:with-param>
</xsl:call-template>