| | - |
| | token Identifier (letter (letter | digit | '_')*) ; |
| | token Column ('.' Identifier) ; |
| | +token TableColumn (Identifier Column) ; |
| | token Attribute ('@' Identifier) ; |
| | token Parameter ('$' Identifier) ; |
| | |
| | Query ::= Start "," Map ";" Where ; |
| | - |
| | Start ::= "root" ">" Element ; |
| | |
| | Map ::= Glob | Line; |
| | - |
| | Glob ::= ".*" ; |
| | - |
| | Line ::= Entity ">" XPath "," ; |
| | |
| | Entity ::= Table | Column ; |
| | - |
| | Table ::= Identifier ; |
| | |
| | XPath ::= Element | Attribute ; |
| | - |
| | Element ::= Identifier | Identifier "/" Element ; |
| | - |
| | -Where ::= Expression LogicalOp Where ; |
| | |
| | -Expression ::= Table Column "=" ExpressionValue ; |
| | +Where ::= Expression | Expression LogicalOp Expression ; |
| | +Expression ::= TableColumn "=" AllValues ; |
| | +Expression ::= TableColumn "<>" AllValues ; |
| | +Expression ::= TableColumn "<" Value ; |
| | +Expression ::= TableColumn ">" Value ; |
| | +Expression ::= TableColumn "<=" Value ; |
| | +Expression ::= TableColumn ">=" Value ; |
| | |
| | -ExpressionValue ::= Value | Set ; |
| | +LogicalOp ::= "&&" | "||" ; |
| | |
| | Value ::= Parameter | "null" | String | Double ; |
| | - |
| | Set ::= "{" SetValues "}" ; |
| | - |
| | -SetValues := Value | Value "," ; |
| | +SetValues := Value | Value "," Value; |
| | |
| | -LogicalOp ::= "&&" | "||" ; |
| | +AllValues ::= Value | Set ; |
| | |
| | |