[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

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

Subject: RE: Using not(...a nd ... ) to select nodes
From: "Lars Huttar" <lars_huttar@xxxxxxx>
Date: Thu, 10 Jul 2003 16:47:55 -0500
using not in xpath
Wendell,

This is something that's been fuzzy in my mind for a while...

In order for your code to work, current() in the select expression
of a for-each loop must refer to the <item> node currently being
tested for whether it gets selected, right?
If so, is this the way xsl:for-each / xpath work?
I realize that INSIDE the for-each, current() refers to the node
currently being processed, but is that also true in the select
expression of the for-each? Or does current() there refer to
the context node outside the for-each?

Thanks,
Lars

> Chris,
> 
> Try
> 
> select="items/item[not(preceding-sibling::*
>    [name=current()/name and
>     type = current()/type and
>    status = current()/status])]"
> 
> The problem with your statement is it's testing true if there no 
> corresponding values on any preceding siblings, whereas you 
> want it to be 
> true only if there's a preceding sibling with all 
> corresponding values.

I thought the same thing... but if that's the case I can't figure
out why he's getting only the second and third items.  I would have
thought the first one would have been selected since it doesn't
have any preceding siblings.

Chris wrote:
>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.

I think you probably need to do Muenchian grouping using a composite
key on name, type, and status.
See http://www.dpawson.co.uk/xsl/sect2/N4486.html

HTH,
Lars


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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.