RE: RE: [xsl] Using not(...a nd ... ) to select nodes

Subject: RE: RE: [xsl] Using not(...a nd ... ) to select nodes
From: cknell@xxxxxxxxxx
Date: Thu, 10 Jul 2003 17:08:27 -0400
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@xxxxxxxxxx - email



-----Original Message-----
From:     "Barak" <barak@xxxxxxxxxxx>
Sent:     Thu, 10 Jul 2003 16:37:25 -0400
To:       <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> cknell@xxxxxxxxxx
> Sent: Thursday, July 10, 2003 4:06 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> 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@xxxxxxxxxx - email
> 
> 
> 
> -----Original Message-----
> From:     "Barak" <barak@xxxxxxxxxxx>
> Sent:     Thu, 10 Jul 2003 15:43:01 -0400
> To:       <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> 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


Current Thread