Optionaloptions: XPathBaseParserOptionsProtectedtokensProtectedcurrentProtected OptionalextensionsProtectedoptionsProtectedstaticProtectedwarningGet the warning collector for this parser. Useful for retrieving warnings after parsing.
ProtectedensureEnforce the supported XPath versions for a concrete parser.
Get the parser options.
ProtectedpeekProtectedpeekProtectedpreviousProtectedisProtectedadvanceProtectedcheckProtectedcheckProtectedmatchProtectedconsumeProtectedparseProtectedparseProtectedparseProtectedparseProtectedparseProtectedparseProtectedparseProtectedparseProtectedparseProtectedparseProtectedisProtectedparseProtectedparseProtectedparseProtectedparseProtectedparseProtectedparseProtectedparseProtectedparse
Recursive descent parser shared by XPath 1.0+ implementations.
Grammar (simplified): Expr ::= OrExpr OrExpr ::= AndExpr ('or' AndExpr)* AndExpr ::= EqualityExpr ('and' EqualityExpr)* EqualityExpr ::= RelationalExpr (('=' | '!=') RelationalExpr)* RelationalExpr ::= AdditiveExpr (('<' | '>' | '<=' | '>=') AdditiveExpr)* AdditiveExpr ::= MultiplicativeExpr (('+' | '-') MultiplicativeExpr)* MultiplicativeExpr ::= UnaryExpr (('' | 'div' | 'mod') UnaryExpr) UnaryExpr ::= '-'* UnionExpr UnionExpr ::= PathExpr ('|' PathExpr)* PathExpr ::= LocationPath | FilterExpr (('/' | '//') RelativeLocationPath)? FilterExpr ::= PrimaryExpr Predicate* PrimaryExpr ::= VariableReference | '(' Expr ')' | Literal | Number | FunctionCall LocationPath ::= RelativeLocationPath | AbsoluteLocationPath Step ::= AxisSpecifier NodeTest Predicate* | AbbreviatedStep Predicate ::= '[' Expr ']'