Hi,

This is the latest stable version:

        spec 
                name: 'XPath';
                className: #ConfigurationOfXPath;
                versionString: #stable;
                repository: 
'http://www.smalltalkhub.com/mc/PharoExtras/XPath/main'.

Doru


> On Sep 3, 2016, at 8:02 AM, stepharo <steph...@free.fr> wrote:
> 
> Hi monty
> 
> In which repository this maintained version is?
> 
> PharoExtras?
> 
> Is it the entry in the catalog?
> 
> 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
>> 
> 
> 

--
www.tudorgirba.com
www.feenk.com

"What we can governs what we wish."





Reply via email to