OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   RE: [xml-dev] Quick Xpath

[ 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 


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS