[xsl] Re: RE: Selecting a node set

Subject: [xsl] Re: RE: Selecting a node set
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Fri, 27 Jul 2001 10:34:36 -0700 (PDT)
Tony Click wrote:

> I was hoping to avoid any variable reference, namely because I cannot
> imagine what variable I would pass into it.  The resultant node set is
> entirely conditional on the contents of the node immediatly following it (or
> I can get essentially the same results using the preceding node)
> 
> You didn't say what additional information was needed, but I can tell you
> the following:
> 
> The structure is as follows:
> 
> <stream>
> 	<endTime>
> 		<interval value="123" channelId="ch1"
> channelDetailId="chd2">
> 		...
> 		<interval>
> 	</endTime>
> 	...
> 	<endTime>
> 	...
> 	</endTime>
> </stream>
> 
> There are N endTime elements per stream
> There are N intervals per endTime
> Within an endTime, channelDetailId should uniquely identify an interval
> 
> Essentially I want the set of all endTimes whose following sibling endTime
> does not have the same number of intervals with channelDetailIds matching
> the current endTime's set of intervals.


What about the following?

//endTime[not(count(interval
                      [@channelDetailId 
                     = ../preceding-sibling::endTime[1]
                                    /interval/@channelDetailId]
                   ) 
            = 
              count(preceding-sibling::endTime[1]/interval)
             )
         ]
         /preceding-sibling::endTime


Cheers,
Dimitre Novatchev. 

__________________________________________________
Do You Yahoo!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/

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


Current Thread