<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdt="http://www.w3.org/2003/05/xpath-datatypes" version="2.0"> <xsl:output method="text"/> <xsl:param name="date" select="'12/8/2003'"/> <xsl:template match="/"> <xsl:analyze-string select="$date" regex="([0-9]+)/([0-9]+)/([0-9]{{4}})"> <xsl:matching-substring> <xsl:number value="regex-group(3)" format="0001"/> <xsl:text>-</xsl:text> <xsl:number value="regex-group(1)" format="01"/> <xsl:text>-</xsl:text> <xsl:number value="regex-group(2)" format="01"/> </xsl:matching-substring> </xsl:analyze-string> </xsl:template> </xsl:stylesheet>