xsl: transformar tags com namespace

Tenho um xsl que copia um arquivo xml e renomeia a marca rai

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:abc="http://example.com">

    <xsl:output method="xml" omit-xml-declaration="yes"/>

    <xsl:template match="node()|@*">
        <xsl:copy>
            <xsl:apply-templates select="node()|@*"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="root">
        <test>
            <xsl:apply-templates select="node()|@*"/>
        </test>
    </xsl:template>

    <!--xsl:template match="abc:set">
        -<xsl:apply-templates select="node()|@*"/>-
    </xsl:template-->

</xsl:stylesheet>

Isso funciona bem, mas quando descomentei o último bloco para manipular algumas tags com espaço para nome, recebi um erro dizendo que algo está errado com a declaração de cópia. Como posso corresponder e transformar tags com namespace?

questionAnswers(3)

yourAnswerToTheQuestion