📄 xpath.syntax
字号:
////////////////////////////////////////////////////////// XPath 1.0 (November 1999), from W3C site.// The full XPath syntax will be built by// xpathSyntax.resolveFrom(xmlSyntax).////////////////////////////////////////////////////////# [1]LocationPath ::= RelativeLocationPath | AbsoluteLocationPath ;# [2]AbsoluteLocationPath ::= '/' RelativeLocationPath ? | AbbreviatedAbsoluteLocationPath ;# [3]RelativeLocationPath ::= Step | RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath ;# [4]Step ::= AxisSpecifier NodeTest Predicate * | AbbreviatedStep ;# [5]AxisSpecifier ::= AxisName '::' | AbbreviatedAxisSpecifier ;# [6]AxisName ::= 'ancestor' | 'ancestor-or-self' | 'attribute' | 'child' | 'descendant' | 'descendant-or-self' | 'following' | 'following-sibling' | 'namespace' | 'parent' | 'preceding' | 'preceding-sibling' | 'self' ;# [7]NodeTest ::= NameTest | NodeType "()" | 'processing-instruction' '(' Literal ')' ;# [8]Predicate ::= '[' PredicateExpr ']' ;# [9]PredicateExpr ::= Expr ;# [10]AbbreviatedAbsoluteLocationPath ::= '//' RelativeLocationPath ;# [11]AbbreviatedRelativeLocationPath ::= RelativeLocationPath '//' Step ;# [12]AbbreviatedStep ::= '.' | '..' ;# [13]AbbreviatedAxisSpecifier ::= '@'? ;# [14]Expr ::= OrExpr ;# [15]PrimaryExpr ::= VariableReference | '(' Expr ')' | Literal | Number | FunctionCall ;# [16]FunctionCall ::= FunctionName '(' ( Argument ( ',' Argument )* )? ')' ;# [17]Argument ::= Expr ;# [18]UnionExpr ::= PathExpr | UnionExpr '|' PathExpr ;# [19]PathExpr ::= LocationPath | FilterExpr | FilterExpr '/' RelativeLocationPath | FilterExpr '//' RelativeLocationPath ;# [20]FilterExpr ::= PrimaryExpr | FilterExpr Predicate ;# [21]OrExpr ::= AndExpr | OrExpr 'or' AndExpr ;# [22]AndExpr ::= EqualityExpr | AndExpr 'and' EqualityExpr ;# [23]EqualityExpr ::= RelationalExpr | EqualityExpr '=' RelationalExpr | EqualityExpr '!=' RelationalExpr ;# [24]RelationalExpr ::= AdditiveExpr | RelationalExpr '<' AdditiveExpr | RelationalExpr '>' AdditiveExpr | RelationalExpr '<=' AdditiveExpr | RelationalExpr '>=' AdditiveExpr ;# [25]AdditiveExpr ::= MultiplicativeExpr | AdditiveExpr '+' MultiplicativeExpr | AdditiveExpr '-' MultiplicativeExpr ;# [26]MultiplicativeExpr ::= UnaryExpr | MultiplicativeExpr MultiplyOperator UnaryExpr | MultiplicativeExpr 'div' UnaryExpr | MultiplicativeExpr 'mod' UnaryExpr ;# [27]UnaryExpr ::= UnionExpr | '-' UnaryExpr ;# [28]ExprToken ::= '(' | ')' | '[' | ']' | '.' | '..' | '@' | ',' | '::' | NameTest | NodeType | Operator | FunctionName | AxisName | Literal | Number | VariableReference ;# [29]Literal ::= '"' [^"]* '"' | "'" [^']* "'" ;# [30]Number ::= Digits ('.' Digits ?) ? | '.' Digits ;# [31]Digits ::= [0-9]+ ;# [32]Operator ::= OperatorName | MultiplyOperator | '/' | '//' | '|' | '+' | '-' | '=' | '!=' | '<' | '<=' | '>' | '>=' ;# [33]OperatorName ::= 'and' | 'or' | 'mod' | 'div' ;# [34]MultiplyOperator ::= '*' ;# [35]FunctionName ::= QName - NodeType ;# [36]VariableReference ::= '$' QName ;# [37]NameTest ::= '*' | NCName ":*" | QName ;# [38]NodeType ::= 'comment' | 'text' | 'processing-instruction' | 'node' ;# [39]ExprWhitespace ::= S ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -