Hi,
After more than two years (!), I made a small iteration on the PetitXPath parser.
- I fixed the grammar to match more accurately to the specification
(
http://www.w3schools.com/xpath/xpath_syntax.asp)
- I added a couple of more grammars (this is still incomplete, but now is a bit better)
- I refactored a lot of stuff to extract functionality from XML documents and put it into
an independent (and therefore, extensible) class (I was thinking on implementing something
to introspect the pharo system, for example...).
- I also renamed the entry method from the too generic "find::" to a more
precise "findXPath:"
- I create a "default" parser, a singleton who allows me to speed up my
processes (my benchmarks gave me x12 speed up on querying documents by just not creating
a parser each time)
- I added class comments. Probably not the best in the world, but at least better than
before.
- finally, but not least, I added tests to validate the syntax
still far from an ideal situation, but I think a lot better...
now, the problem is:
- it is not backward compatible, because I removed #find: method. I can put it back if
required (but deprecated), but I'm not sure anyone is using it (in fact, I think no
one is actually using it right now)
- I need write access into the Moose team to commit my changes :)
cheers,
Esteban