xsl-list
[Top] [All Lists]

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

2009-10-09 14:22:45

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>
--~--

<Prev in Thread] Current Thread [Next in Thread>