match="." is not a valid XSLT match pattern.
The usual identity template is
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
If you also want to apply templates to attribute nodes you can use the one in the XSLT spec:
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node|@*"/>
</xsl:copy>
</xsl:template>
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference