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.