[
Lists Home |
Date Index |
Thread Index
]
> > 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@ntlworld.com
work: Michael.Kay@softwareag.com
|