<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:r="http://nwalsh.com/xmlns/extreme2004/recipes/" xmlns:saxon="http://saxon.sf.net/" version="2.0"> <xsl:output method="text"/> <xsl:param name="sample-doc"> <doc> <releaseinfo role="cvs">$Id: matches.xsl,v 1.2 2004/07/30 20:15:24 ndw Exp $</releaseinfo> </doc> </xsl:param> <xsl:template match="/"> <xsl:apply-templates select="$sample-doc//releaseinfo"/> </xsl:template> <xsl:template match="releaseinfo"> <xsl:text>Original value: </xsl:text> <xsl:value-of select="."/> <xsl:text> Match/Replace value: </xsl:text> <xsl:choose> <xsl:when test="matches(., '[1-9][0-9]{3}/[0-1][0-9]/[0-3][0-9]')"> <xsl:value-of select="replace(., '([1-9][0-9]{3})/([0-1][0-9])/([0-3][0-9])', '$2/$3/$1')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="."/> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet>