To copy everything including:
attributes
comments
processing instructions
namespaces
text
we have to use greedier wild cards:
@* to copy attribute nodes
node() to copy all other nodes
  <!-- pass unrecognized nodes along unchanged -->
  <xsl:template match="node()|@*">
    <xsl:copy>
      <xsl:apply-templates select="node()|@*"/>
    </xsl:copy>
  </xsl:template>  
xt doesn't yet recognize node() in match patterns
The output is the same in this case, though for a document that used more HTML it might be different.