XPath |
::= |
Expr? |
|
Expr |
::= |
ExprSingle |
|
ExprSingle |
::= |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OrExpr |
::= |
AndExpr ( "or" AndExpr )* |
|
AndExpr |
::= |
InstanceofExpr ( "and" InstanceofExpr )* |
|
InstanceofExpr |
::= |
TreatExpr |
|
TreatExpr |
::= |
CastableExpr |
|
CastableExpr |
::= |
CastExpr |
|
CastExpr |
::= |
ComparisonExpr |
|
ComparisonExpr |
::= |
RangeExpr ( ( |
|
RangeExpr |
::= |
AdditiveExpr |
|
AdditiveExpr |
::= |
MultiplicativeExpr ( ("+" | "-") MultiplicativeExpr )* |
|
MultiplicativeExpr |
::= |
UnaryExpr |
|
UnaryExpr |
::= |
("-" | "+")* UnionExpr |
|
UnionExpr |
::= |
IntersectExceptExpr ( ("union" | "|") IntersectExceptExpr )* |
|
IntersectExceptExpr |
::= |
ValueExpr |
|
ValueExpr |
::= |
PathExpr |
|
PathExpr |
::= |
("/" RelativePathExpr?) |
|
RelativePathExpr |
::= |
StepExpr (("/" | "//") StepExpr)* |
|
StepExpr |
::= |
AxisStep | FilterStep |
|
AxisStep |
::= |
(ForwardStep | |
|
FilterStep |
::= |
PrimaryExpr Predicates |
|
ContextItemExpr |
::= |
"." |
|
PrimaryExpr |
::= |
Literal | |
|
|
|
|
|
Predicates |
::= |
("[" Expr "]")* |
|
GeneralComp |
::= |
"=" | "!=" | "<" | "<=" | |
|
|
|
|
|
|
|
|
|
ForwardStep |
::= |
|
|
|
|
|
|
AbbrevForwardStep |
::= |
"@"? NodeTest |
|
|
|
|
|
|
|
|
|
|
|
|
|
NodeTest |
::= |
KindTest | NameTest |
|
NameTest |
::= |
QName |
|
|
|
|
|
Literal |
::= |
NumericLiteral | StringLiteral |
|
NumericLiteral |
::= |
IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
ParenthesizedExpr |
::= |
"(" Expr? ")" |
|
FunctionCall |
::= |
<QName "("> (ExprSingle ("," ExprSingle)*)? ")" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
KindTest |
::= |
|
|
ElementTest |
::= |
<"element" "("> |
|
|
|
|
|
ElementName |
::= |
QName |
|
AttributeName |
::= |
QName |
|
TypeName |
::= |
QName |
|
ElementNameOrWildcard |
::= |
ElementName | "*" |
|
|
|
|
|
TypeNameOrWildcard |
::= |
TypeName | "*" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|