So what you are asking for is an XPath expression that will select all the
unique <item> nodes (as distinguished by the values of their child nodes),
correct?
Here is an XML document based on my understanding of your question:
Based on this, you want an expression which returns the first, second, and
third <item> nodes, and not the fourth and fifth because they are identical to
one of the first three. Is that right?
<?xml version="1.0" encoding="UTF-8" ?>
<items>
<item>
<name>truck</name>
<type>silverado</type>
<status>on</status>
</item>
<item>
<name>truck</name>
<type>silverado</type>
<status>off</status>
</item>
<item>
<name>truck</name>
<type>ranger</type>
<status>on</status>
</item>
<item>
<name>truck</name>
<type>silverado</type>
<status>on</status>
</item>
<item>
<name>truck</name>
<type>silverado</type>
<status>off</status>
</item>
</items>
--
Charles Knell
cknell(_at_)onebox(_dot_)com - email
-----Original Message-----
From: "Barak" <barak(_at_)voyager(_dot_)net>
Sent: Thu, 10 Jul 2003 16:37:25 -0400
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject: RE: [xsl] Using not(...a nd ... ) to select nodes
I'm sorry, I wasn't thinking/typing clearly. There's three that are of
concern. There are actually more, but I need to select nodes based on
those three.
Chris
-----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
cknell(_at_)onebox(_dot_)com
Sent: Thursday, July 10, 2003 4:06 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Using not(...a nd ... ) to select nodes
You say that each "item" node has three child nodes, yet your
list of items shows four values for each item. Which is correct?
--
Charles Knell
cknell(_at_)onebox(_dot_)com - email
-----Original Message-----
From: "Barak" <barak(_at_)voyager(_dot_)net>
Sent: Thu, 10 Jul 2003 15:43:01 -0400
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject: [xsl] Using not(...a nd ... ) to select nodes
Hello!
I'm fairly new to XSLT and have been trhown in the deep end here. :p
I have a problem I've been beating my head against a wall
over for a couple of days, so now that it's good and bloody
I've found this mailing list.
In a nutshell, I have "item" nodes that have three sub nodes:
name, type and status.
I'm trying to create a node set that only contains different
nodes. The problem I'm running into is I seem to be losing
nodes that I shouldn't.
I'm using the following to select the nodes:
<xsl:for-each select="items/item[not(name = preceding-sibling::*/name
and type = preceding-sibling::*/type and status
preceding-sibling::*/status)]">
An example from the XML might be: truck,silverado,chevy,on
truck,silverado,chevy,off truck,ranger,ford,on
truck,silverado,chevy,on
truck,silverado,chevy,off
From that I want to see the first three in a node set.
However, what I'm getting are the second and third ones.
Any suggestions would be much appreciated.
Chris
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list