<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:r="http://nwalsh.com/xmlns/extreme2006/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.3 2006-08-10 21:12:03 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>