This page is meant to be a tool for readers and parser implementers of XPath 2.0. It allows them to type in an expression, and then view the parse tree, or else obtain an error if it is syntactically incorrect. The results should not be used as an absolute reference, and may flag legal syntax or errors not intended by the drafts. However, the parser used was generated by processing the XML representation of the grammar, which is also used to produce the EBNF productions in the XPath and XQuery drafts. This parser is also used by the working groups to validate the integrity of the grammar. Implementers may wish to download the XPath 2.0/XQuery 1.0 Parser Build, xgrammar.zip, if they are interested in the parser production, and more details of this process.
Known bug: A comment following a QName will not be parsed correctly.
Type in a XPath 2.0 expression then click on the button: