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] xpath: which is right?

[ Lists Home | Date Index | Thread Index ]

At 2004-04-03 20:10 +0200, Suzan Foster wrote:
>Taking the following XML:
>
>  <foo>
>     <bar id="1" />
>     <bar id="2" />
>     <bar id="3" />
>     <fu />
>   </foo>
>
>which value should be returned by the xpath:
>
>preceding::bar[1]/@id
>
>libxslt says 3, whilst XML::XPath says 1.

If your current node is the <fu/> element node, then the answer is "3".

All axes are traversed in a step in proximity order, so the preceding axis 
is traversed in reverse document order, so the closest one is the one with 
id="3".

Note the different answer with "(preceding::bar)[1]/@id" which is "1" 
because the set of nodes in the parens is addressed by XSLT in document order.

I hope this helps.

.................. Ken

--
Public courses: Spring 2004 world tour of hands-on XSL instruction
Each week:   Monday-Wednesday: XSLT/XPath; Thursday-Friday: XSL-FO
Hong Kong May 17-21; Bremen Germany May 24-28; Helsinki June 14-18

World-wide on-site corporate, govt. & user group XML/XSL training.
G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/x/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Breast Cancer Awareness  http://www.CraneSoftwrights.com/x/bc





 

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

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