<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
   <xsl:output method="html"/>

<!-- For simple examples, we usually want most of the document
     passed through unchanged. This is the standard "identity"
     transformation to do that. -->
  <xsl:template match="@*|node()" priority="-1"><xsl:text>
</xsl:text><xsl:comment>[TraceXSL Begin] match="@*|node()"</xsl:comment><xsl:text>
</xsl:text>
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  <xsl:text>
</xsl:text><xsl:comment>[TraceXSL END] match="@*|node()"</xsl:comment><xsl:text>
</xsl:text></xsl:template>

<!-- Stefan wants to replace <testtag/> elements with a fixed header...
     not very interesting, but OK as an example. -->
    <xsl:template match="testtag"><xsl:text>
</xsl:text><xsl:comment>[TraceXSL Begin] match="testtag"</xsl:comment><xsl:text>
</xsl:text>
	<h1>tralala</h1>
    <xsl:text>
</xsl:text><xsl:comment>[TraceXSL END] match="testtag"</xsl:comment><xsl:text>
</xsl:text></xsl:template>

</xsl:stylesheet>