It is too easy to forget to supply XPath version numbers with XPath expressions. The version can turn true into false quite easily. The same expression, even a fairly basic one, can return true in version 1 and false in version 2. I do not think it is sensible to rely on XPath alone in critical systems. It can help to formalise specifications combining it with human readable statements but beyond that it requires great care, especially in long persisted domains such as procurement documentation where prominence of versions of XPath can change during the life of the specifications and systems and XML documents.