XPath parser in C# source code.
Close to one System.Xml uses in the XslCompiledTransform.
Currently supports XPath 1.0 grammar.
This implementation uses "Builder" pattern to separate parsing code from result the parser should produce.
While parsing the source XPath parser calls method in the methods of IXPathBuilder interface provided by caller.
User of this code expected to write his own IXPathBuilder implementation.
Source code of this project contains two IXPathBuilder implementations for demo/testing purpose:
- XPathTreeBuilder - constructs XLinq tree that represents XPath syntax tree.
- XPathStringBuilder - compiles syntax tree back to XPaht string.