You don't actually say what output you want!
Usually this kind of transformation uses an identity template rule:
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
which on its own will produce output that is identical to the input. You then typically add further template rules to describe the exceptions, that is elements that should not be copied exactly but modified in some way.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference