Skip to main content

Module identity_parser

Module identity_parser 

Source
Expand description

Hand-written recursive-descent parser for identity-constraint XPath.

Parses the restricted XPath subset used in XSD <selector> and <field> expressions over pre-lexed tokens from IdXPathLexer.

Grammar:

Selector ::= Path ( '|' Path )*
Field    ::= Path ( '|' Path )*
Path     ::= ('.' '//')? Step ( '/' Step )*
Step     ::= '.' | '@' NameTest | AxisName '::' NameTest | NameTest
NameTest ::= '*' | NCName ':' '*' | NCName ':' NCName | NCName