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 ]

Could it be that Spy's XPath evaluator got the numbering wrong? 

Could it be that there's ambiguity in the XPath Rec? 

My understanding is that the first preceding-sibling is not the first in a
list of preceding siblings, but the most immediate preceding sibling.



 -----Original Message-----
From: 	Garland foster [mailto:garland_foster@salutia.com] 
Sent:	Wednesday, July 17, 2002 5:45 PM
To:	Eric van der Vlist
Cc:	Mark Feblowitz; 'Dare Obasanjo'; xml-dev@lists.xml.org
Subject:	Re: [xml-dev] Quick Xpath

Gee,
file://b[preceding-sibling::*[last()][self::a]]
This doesn't return anything in Cooktop but it does work with XML-SPY (!!)

Now the Standings are:
XML-Cooktop 3
XML-SPY       1
Eric                  1
Garland            0



----- Original Message -----
From: Eric van der Vlist <vdv@dyomedea.com>
To: Garland foster <garland_foster@salutia.com>
Cc: Mark Feblowitz <mfeblowitz@frictionless.com>; 'Dare Obasanjo'
<dareo@microsoft.com>; <xml-dev@lists.xml.org>
Sent: Wednesday, July 17, 2002 6:38 PM
Subject: Re: [xml-dev] Quick Xpath


> Your test case:
>
> <foo>
> <b/>
> <a/>
> <b/>
> <a/>
> <b/>
> </foo>
>
> doesn't differentiate a "b" with at least a preceding sibling "a" from a
> "b" whose immediate preceding is a "a"!
>
> On Wed, 2002-07-17 at 23:29, Garland foster wrote:
> > XMLCooktop works with
> > file://b[preceding-sibling::*[self::a]]
>
> Yes, but this matches any "b" having any preceding-sibling equal to "a".
> > or
> > file://b[preceding-sibling::*[1][self::a]]
> > or
> > file://b[local-name(preceding-sibling::*[1])='a']
>
> As Jeni mentioned, [self:a] has the advantage of also testing that your
> "a" element has no namespace.
> >
> > While XML-SPY works with
> > file://b[preceding-sibling::*[self::a]]
>
> But again, that's not selective enough for your request.
> > but not with
> > file://b[preceding-sibling::*[1][self::a]]
> > and doesn't work either with
> > file://b[local-name(preceding-sibling::*[1])='a']
> >
> > Interesting, which processor is wrong/right and why?
>
> Do you really think a XSLT processor may be right against Jeni :-) ?
>
> No, I am kidding and I think Jeni's wrong here and this should be:
>
> file://b[preceding-sibling::*[last()][self::a]]
>
> (preceding-sibling returns the nodes by document order)
>
> Eric
> --
> See you in San Diego.
>                                http://conferences.oreillynet.com/os2002/
> ------------------------------------------------------------------------
> Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
> (W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
> ------------------------------------------------------------------------
>
>


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.373 / Virus Database: 208 - Release Date: 7/1/02




 

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

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