[Home] [By Thread] [By Date] [Recent Entries]


> > Howsabout given:
> >
> >         (//foo | //bar)[4]
> >
> > Would that be the 4th occurrence of either foo or bar, in document 
> > order?
> 
> Yes.
> 
> > That's just an implementational nightmare.
> 
> I can imagine, but unfortunately that's the way that it's 
> defined in the XPath Rec. Perhaps Mike and the other XPath 
> implementers on the list can share some implementation tips.

Actually it can very easily be optimized to (//*[self::foo or
self::bar])[4], which can be evaluated serially with no sort, stopping
when the fourth matching node is found. 

Saxon doesn't do that, but it wouldn't be difficult.

Michael Kay
Software AG
home: Michael.H.Kay@n...
work: Michael.Kay@s... 


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member