Hi, 

This is for sure not useful at all, but I make the same mistake into PetitXml 
and PetitXPath (skipping the first element) :)
in the Petit parsers, now it is fixed... you can try that or check it to fix 
the XPath parser (which I didn't know it exists, btw)

cheers,
Esteban

On May 8, 2013, at 11:23 PM, Herve Verjus <herve.ver...@univ-savoie.fr> wrote:

> Dear All,
> 
> I try a very simple example:
> 
> mydoc.xml document:
> 
> 
> <?xml version="1.0" encoding="UTF-8" ?>
> 
> <first>
>  <second>
>    <item type="attvalue">nodevalue</item>
>  </second>
> </first>
> 
> 
> And the Pharo code found in the book.pharo-project.org:
> 
> | doc results |
> doc := XMLDOMParser parseFileNamed: 'mydoc.xml'.
> results := ( XPath for: 'first' ) in: doc.
> results explore
> 
> 
> As a result, I obtain an empty OrderedCollection...It should contain an 
> element. Then a make some changes using different XPath expressions (i.e. 
> '/first/second/item/@type", etc.) but no way.
> 
> Then I discover the first element of the XPath expression must not be the 
> root of the XML doc. If I change the mydoc.xml, introducing a new root 
> element:
> 
> 
> <?xml version="1.0" encoding="UTF-8" ?>
> 
> <foo>
> <first>
>  <second>
>    <item type="attvalue">nodevalue</item>
>  </second>
> </first>
> </foo>
> 
> Everything is ok (the same code as above). Here, XPath assumes that the first 
> tag we are looking for is not the root of the doc, otherwise it fails. I'm 
> not so sure but it seems that such implementation doesn't follow the XPath 
> specs. I tried another example from 
> http://www.w3schools.com/xpath/xpath_syntax.asp and same results: I obtain an 
> empty collection when using an XPath expression beginning with the 
> 'bookstore' tag, the root element of the doc:
> 
> | doc results |
> doc := XMLDOMParser parseFileNamed: 'books.xml'.
> results := ( XPath for: '/bookstore' ) in: doc.
> results explore
> 
> Maybe, I missed something...
> 
> Note: I have had to replace the isTag (deprecated) with isElement in some 
> piece of XPath code.
> 
> Cheers,
> 
> Herve
> 


Reply via email to