a re-usable XPath engine for DOM-like trees
