[xsl] How to move all Namespace-URLs declarations from Elements to Header with XSLT script?

Subject: [xsl] How to move all Namespace-URLs declarations from Elements to Header with XSLT script?
From: "Ben Stover" <bxstover@xxxxxxxxxxx>
Date: Fri, 09 Oct 2009 09:41:19 +0200
Assume I get an XML doc where (almost) ALL <Element> tags contain the full Namespace URL for a possibly used
Namespace-Prefix similar to:

<mydummyelement>
<paul:mysubdummyelement1 xmlns:paul="http://www.somedomain.com/aaa/bbb/ccc/ddd/eee/"/>
<paul:mysubdummyelement2 xmlns:paul="http://www.somedomain.com/aaa/bbb/ccc/ddd/eee/"/>
</mydummyelement>

How can I move with an XSLT script the Namespace-URLs out of all elements and group them, remove duplicates and
put them in the top-most element similar to

<mydummyelement xmlns:paul="http://www.somedomain.com/aaa/bbb/ccc/ddd/eee/";>
<paul:mysubdummyelement1/>
<paul:mysubdummyelement2/>
</mydummyelement>

And how can I do the reverse way with the XSLT script?

Thank you 
Ben

Current Thread