Sure, there's a standard coding pattern for this. Write an identity template that copies elements unchanged:
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
and then override it for elements you want to modify:
<xsl:template match="bar">
<boff>
<xsl:apply-templates/>
</boff>
</xsl:template>
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference