<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>