To move all namespace declarations to the top level:
<xsl:template match="/*">
<xsl:copy>
<xsl:copy-of select="@*, //namespace::*, child::node()"/>
</xsl:copy>
</xsl:template>
To move all namespace declarations as far down as they will go:
<xsl:template match="/">
<xsl:copy-of select="." copy-namespaces="no"/>
</xsl:template>
Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay
-----Original Message-----
From: Ben Stover [mailto:bxstover(_at_)yahoo(_dot_)co(_dot_)uk]
Sent: 09 October 2009 08:41
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] How to move all Namespace-URLs declarations
from Elements to Header with XSLT script?
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
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--