xsl-list
[Top] [All Lists]

RE: deep copy and exclude some nodes

2003-01-14 12:57:01
*[not(name() = 'field1' and name() = 'field2')]

As a general rule, use not() whenever you need to build up an exclusion set
first. Working with XSL is like working with SQL - your operations are
usually on sets, not single values.

Peter

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com]On Behalf Of 
Joeri Belis
Sent: Tuesday, 14 January 2003 10:04 p.m.
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] deep copy and exclude some nodes


hi,

<line>
 <field1>1</field1>
 <field2>2</field2>
 <field3>3</field3>
</line>

i am processing the <line> node in this simplified example.
and i need to copy this node 2 times. The first is a copy of everything and
the second should exclude <field2>

giving this result

<line>
 <field1>1</field1>
 <field2>2</field2>
 <field3>3</field3>
</line>
<line>
 <field1>1</field1>
 <field3>3</field3>
</line>

I used
<xsl:copy>
  <xsl:copy-of select="@*"/>
  <xsl:copy-of select="*[name() != 'field2']"/>
<xsl:copy>

But what when i need to remove more fields.
I tried   <xsl:copy-of select="*[name() != 'field1' and name() !=
'field2']"/> but is not working.

I think this is the wrong approach.

Joeri



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

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



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