void predicate() throws SAXPathException { getXPathHandler().startPredicate(); match( TokenTypes.LEFT_BRACKET ); predicateExpr(); match( TokenTypes.RIGHT_BRACKET ); getXPathHandler().endPredicate(); }
private void relativeLocationPath() throws SAXPathException { getXPathHandler().startRelativeLocationPath(); switch ( LA(1) ) { case TokenTypes.SLASH: { match( TokenTypes.SLASH ); break; } case TokenTypes.DOUBLE_SLASH: { getXPathHandler().startAllNodeStep( Axis.DESCENDANT_OR_SELF ); getXPathHandler().endAllNodeStep(); match( TokenTypes.DOUBLE_SLASH ); break; } } steps(); getXPathHandler().endRelativeLocationPath(); }
private void literal() throws SAXPathException { Token token = match( TokenTypes.LITERAL ); getXPathHandler().literal( token.getTokenText() ); }
private void abbrStep() throws SAXPathException { switch ( LA(1) ) { case TokenTypes.DOT: { match( TokenTypes.DOT ); getXPathHandler().startAllNodeStep( Axis.SELF ); predicates(); getXPathHandler().endAllNodeStep(); break; } case TokenTypes.DOT_DOT: { match( TokenTypes.DOT_DOT ); getXPathHandler().startAllNodeStep( Axis.PARENT ); predicates(); getXPathHandler().endAllNodeStep(); break; } } }
private void orExpr() throws SAXPathException { getXPathHandler().startOrExpr(); andExpr(); boolean create = false; switch ( LA(1) ) { case TokenTypes.OR: { create = true; match( TokenTypes.OR ); orExpr(); break; } } getXPathHandler().endOrExpr( create ); }
private void unaryExpr() throws SAXPathException { switch ( LA(1) ) { case TokenTypes.MINUS: { getXPathHandler().startUnaryExpr(); match( TokenTypes.MINUS ); unaryExpr(); getXPathHandler().endUnaryExpr( Operator.NEGATIVE ); break; } default: { unionExpr(); break; } } }
private void andExpr() throws SAXPathException { getXPathHandler().startAndExpr(); equalityExpr(); boolean create = false; switch ( LA(1) ) { case TokenTypes.AND: { create = true; match( TokenTypes.AND ); andExpr(); break; } } getXPathHandler().endAndExpr( create ); }
private void unionExpr() throws SAXPathException { getXPathHandler().startUnionExpr(); pathExpr(); boolean create = false; switch ( LA(1) ) { case TokenTypes.PIPE: { match( TokenTypes.PIPE ); create = true; expr(); break; } } getXPathHandler().endUnionExpr( create ); }
private void additiveExpr() throws SAXPathException { multiplicativeExpr(); int la = LA(1); while (la == TokenTypes.PLUS || la == TokenTypes.MINUS) { switch ( la ) { case TokenTypes.PLUS: { match( TokenTypes.PLUS ); getXPathHandler().startAdditiveExpr(); multiplicativeExpr(); getXPathHandler().endAdditiveExpr( Operator.ADD ); break; } case TokenTypes.MINUS: { match( TokenTypes.MINUS ); getXPathHandler().startAdditiveExpr(); multiplicativeExpr(); getXPathHandler().endAdditiveExpr( Operator.SUBTRACT ); break; } } la = LA(1); } }
public void parse(String xpath) throws SAXPathException { setUpParse( xpath ); getXPathHandler().startXPath(); expr(); getXPathHandler().endXPath(); if ( LA(1) != TokenTypes.EOF ) { XPathSyntaxException ex = createSyntaxException( "Unexpected '" + LT(1).getTokenText() + "'" ); throw ex; } lexer = null; tokens = null; }
getXPathHandler().startProcessingInstructionNodeStep( axis, piName ); getXPathHandler().endProcessingInstructionNodeStep(); getXPathHandler().startAllNodeStep( axis ); getXPathHandler().endAllNodeStep(); getXPathHandler().startTextNodeStep( axis ); getXPathHandler().endTextNodeStep(); getXPathHandler().startCommentNodeStep( axis ); getXPathHandler().endCommentNodeStep();
private void equalityExpr() throws SAXPathException { relationalExpr(); int la = LA(1); while (la == TokenTypes.EQUALS || la == TokenTypes.NOT_EQUALS) { switch ( la ) { case TokenTypes.EQUALS: { match( TokenTypes.EQUALS ); getXPathHandler().startEqualityExpr(); relationalExpr(); getXPathHandler().endEqualityExpr( Operator.EQUALS ); break; } case TokenTypes.NOT_EQUALS: { match( TokenTypes.NOT_EQUALS ); getXPathHandler().startEqualityExpr(); relationalExpr(); getXPathHandler().endEqualityExpr( Operator.NOT_EQUALS ); break; } } la = LA(1); } }
getXPathHandler().startRelationalExpr(); additiveExpr(); getXPathHandler().endRelationalExpr( Operator.LESS_THAN ); break; getXPathHandler().startRelationalExpr(); additiveExpr(); getXPathHandler().endRelationalExpr( Operator.GREATER_THAN ); break; getXPathHandler().startRelationalExpr(); additiveExpr(); getXPathHandler().endRelationalExpr( Operator.GREATER_THAN_EQUALS ); break; getXPathHandler().startRelationalExpr(); additiveExpr(); getXPathHandler().endRelationalExpr( Operator.LESS_THAN_EQUALS ); break;
getXPathHandler().startMultiplicativeExpr(); unaryExpr(); getXPathHandler().endMultiplicativeExpr( Operator.MULTIPLY ); break; getXPathHandler().startMultiplicativeExpr(); unaryExpr(); getXPathHandler().endMultiplicativeExpr( Operator.DIV ); break; getXPathHandler().startMultiplicativeExpr(); unaryExpr(); getXPathHandler().endMultiplicativeExpr( Operator.MOD ); break;
private void absoluteLocationPath() throws SAXPathException getXPathHandler().startAbsoluteLocationPath(); getXPathHandler().startAllNodeStep( Axis.DESCENDANT_OR_SELF ); getXPathHandler().endAllNodeStep(); getXPathHandler().endAbsoluteLocationPath();
private void filterExpr() throws SAXPathException getXPathHandler().startFilterExpr(); getXPathHandler().number( Double.parseDouble( token.getTokenText() ) ); break; getXPathHandler().endFilterExpr();
private void functionCall() throws SAXPathException { String prefix = null; String functionName = null; if ( LA(2) == TokenTypes.COLON ) { prefix = match( TokenTypes.IDENTIFIER ).getTokenText(); match( TokenTypes.COLON ); } else { prefix = ""; } functionName = match( TokenTypes.IDENTIFIER ).getTokenText(); getXPathHandler().startFunction( prefix, functionName ); match ( TokenTypes.LEFT_PAREN ); arguments(); match ( TokenTypes.RIGHT_PAREN ); getXPathHandler().endFunction(); }
private void variableReference() throws SAXPathException { match( TokenTypes.DOLLAR ); String prefix = null; String variableName = null; if ( LA(2) == TokenTypes.COLON ) { prefix = match( TokenTypes.IDENTIFIER ).getTokenText(); match( TokenTypes.COLON ); } else { prefix = ""; } variableName = match( TokenTypes.IDENTIFIER ).getTokenText(); getXPathHandler().variableReference( prefix, variableName ); }
getXPathHandler().startNameStep( axis, prefix, localName ); getXPathHandler().endNameStep();
private void pathExpr() throws SAXPathException getXPathHandler().startPathExpr(); getXPathHandler().endPathExpr();