xsl-list
[Top] [All Lists]

Re: Change Namespace of element and children

2005-08-31 13:05:00
Hi Kevin,

If you declare the namespace as a default namespace in your stylesheet, then it will be used for all unprefixed element names, whether you use xsl:element or a literal result element.

So you'd want this:

<xsl:stylesheet ... xmlns="http://www.mystuff.com";>

The bottom line is that the element has to be associated with the namespace you want wherever it appears in the stylesheet. There is no way to dynamically alter the namespace of elements you add, just because you add them inside an element with a different namespace (which is essentially what you were trying to do).

Hope this helps,
Evan

Kevin L. Cobb wrote:

Hi All, new to the list but not new to XSLT.

I want to change the namespace of an element using XSLT. My problem is,
I can change the namepsace of a single element easily by doing a
template match and then simply re-adding the element and specifying the
new namespace ... like so:

  <xsl:template match="MyElement">
     <xsl:element name="MyElement" namespace="http://www.mystuff.com";>
        <xsl:apply-templates select="@*|*|text()"/>
     </xsl:element>
  </xsl:template>

But, the problem is, child elements of MyElement end up with the default
(empty) namespace ... like so:

<MyElement xmlns=http://www.mystuff.com";>
   <MySubElement1 xmlns="">12345</MySubElement1>
   <MySubElement2 xmlns="">12345</MySubElement2>
</MyELement>


Any ideas?
Thanks,

- Kevin

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