PhoenixmlDb.XQuery

XPathSubsetCheck

Rejects, with XPST0003, the XQuery 3.1 syntax that XPath 3.1 does not have. The parser reads one grammar for both languages, so an XPath expression parses wherever XQuery would; this pass over the parse tree gives the XPath answer.

#XPathSubsetCheck

Namespace: PhoenixmlDb.XQuery.Parser

Rejects, with XPST0003, the XQuery 3.1 syntax that XPath 3.1 does not have. The parser reads one grammar for both languages, so an XPath expression parses wherever XQuery would; this pass over the parse tree gives the XPath answer.

Only the difference between the two 3.1 languages is checked. Syntax that 4.0 adds to both (braced

if

,

->

functions,

for member

, records) is left to the 4.0 rules, as in XQuery mode. Direct element constructors never reach here: in XPath mode the lexer reads every

<

as an operator.

#Methods

#Construct(Antlr4.Runtime.ParserRuleContext)

The XQuery-only construct

is, or null for XPath syntax.