*[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