> Sent: Saturday, September 03, 2016 at 2:02 AM
> From: stepharo <steph...@free.fr>
> To: "Any question about pharo is welcome" <pharo-users@lists.pharo.org>
> Subject: Re: [Pharo-users] Coding XPath as Smalltalk
>
> Hi monty
> 
> In which repository this maintained version is?

PharoExtras/XPath (you gave me the write access).

 
> PharoExtras?
> 
> Is it the entry in the catalog?

It has a catalog entry at http://catalog.pharo.org and a CI job at 
https://ci.inria.fr/pharo-contribution/job/XPath/

> 
> Stef
> 
> 
> 
> Le 3/9/16 à 07:54, monty a écrit :
> > Peter, you're using an ancient version with bugs that were fixed last fall. 
> > The newest version has more tests and correct behavior (checked against a 
> > reference implementation). Just download a new Moose image and you'll get 
> > it, along with an up to date XMLParser. (But if you insist on upgrading in 
> > your old image, run "XPath initialize" after)
> >
> > The binary syntax (there are keyword equivalents now) officially only 
> > supports XPath axis selectors like #/ and #// that take node test arguments 
> > where the node tests can be name tests like 'name,' '*', 'prefix:*' or type 
> > tests like 'text()', 'comment()', 'element(name)'.
> >
> > Filters aren't officially supported with that syntax, but you can always 
> > use select: on the result. ?? was removed, but I might add it back as 
> > shorthand. Filters are implemented differently now.
> >
> >> From: PBKResearch <pe...@pbkresearch.co.uk>
> >> To: pharo-users@lists.pharo.org
> >> Subject: [Pharo-users] Coding XPath as Smalltalk
> >>
> >> Hello
> >>   
> >> I am using XPath as a way of dissecting web pages, especially from 
> >> Wiktionary. Generally I get good results, but I could get useful extra 
> >> flexibility by using the binary Smalltalk operators to represent XPath, as 
> >> mentioned at the end of the class comment for XPath. However, the 
> >> description there is very terse, and I am having difficulty seeing how to 
> >> include more complex expressions, especially attribute tests. I have put 
> >> some of my XPath expressions through the XPath compiler and looked at the 
> >> output, and out of that I have found expressions which work but look very 
> >> clumsy. As an example, I have used the fragment:
> >>   
> >> document xPath: '//div[@id=''catlinks'']//li//text()'
> >>   
> >> and found that an equivalent is:
> >>   
> >> document //'div' ?? [:node :x :y|(node attributeAt: 'id') = 
> >> 'catlinks']//'li'//[:n| n isStringNode]].
> >> (I had to put two dummy arguments in the three-argument block to get it to 
> >> work.)
> >>   
> >> Is there a more extensive explanation of the use of these binary 
> >> operators? If not, could some kind person show me the most concise 
> >> translation of the sample XPath above, to give me a start in working out 
> >> more complex cases?
> >>   
> >> Many thanks for any help.
> >>   
> >> Peter Kenny
> >
> 
> 
>

Reply via email to