Re: [xsl] Re: Excluding one particular attribute(namespace) when copying elements

Subject: Re: [xsl] Re: Excluding one particular attribute(namespace) when copying elements
From: Dongling Ding <dling61@xxxxxxxxx>
Date: Fri, 31 Oct 2003 15:38:01 -0800 (PST)
Hi Dimitre,

This one is working. But I found out another
interesting thing here and i think it may need people
attention.

Here is xml, xslt and output

test1.xml

<D
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
	<x>1</x>
	<y>2</y>
	<z>3</z>
</D>

test1.xslt:

<xsl:template match="D">
<D>
<xsl:if test="./*[name(.) = 'x']">
<xsl:copy-of select="./*[name(.) = 'x']"/>
</xsl:if>
</D>
</xsl:template>

Output:

<D>
<x
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>1</x>
</D>


My question is: Why the "xmlna:xsi......." was
inserted in the element x here?

Any anwser?


Thanks

Dongling





--- Dimitre Novatchev <dnovatchev@xxxxxxxxx> wrote:
> > I need to copy different element to output. For
> all
> > the elements I need to exclude the namespace
> attribute
> > when i use "xsl:copy-of" or "xsl:copy". It seems
> > difficult to specify this in XSLT. Any comment
> would
> > be appreciated!
> 
> Use something like this:
> 
> <xsl:stylesheet version="1.0"
>  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
>   <xsl:output omit-xml-declaration="yes"/>
> 
>   <xsl:template match="t">
>     <xsl:element name="{name()}">
>       <xsl:copy-of select="namespace::*[not(. =
> 'b')]"/>
>       <xsl:copy-of select="@* | node()"/>
>     </xsl:element>
>   </xsl:template>
> </xsl:stylesheet>
> 
> When this transformation is applied on the following
> source.xml:
> 
>      <t xmlns:a="a" xmlns:b="b"/>
> 
> the result is:
> 
>      <t xmlns:a="a"/>
> 
> so the namespace "b" has been excluded.
> 
> 
> Hope this helped.
> 
> 
> =====
> Cheers,
> 
> Dimitre Novatchev.
> http://fxsl.sourceforge.net/ -- the home of FXSL
> 
> 
> 
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 


__________________________________
Do you Yahoo!?
Exclusive Video Premiere - Britney Spears
http://launch.yahoo.com/promos/britneyspears/

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread