In the XPath data model, namespace declarations are represented as namespace nodes, not as attribute nodes. You can select them using the namespace axis rather than the attribute axis. In XSLT 2.0 you can create a new namespace node using the xsl:namespace instruction (rather than the xsl:attribute instruction).
However, changing the namespace nodes will not have the effect of changing the expanded names of any elements or attributes. Remember than in the data model, the name of an element or attribute has two parts, the local name and the namespace URI, and if you want to change either part you need to do so explicitly, for example by
<xsl:template match="*">
<xsl:element name="{local-name()}" namespace="new-namespace.uri">
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference