Interface for event-based XPath parsing.
A
XPathReader generates callbacks into
an
XPathHandler to allow for custom
handling of the parse.
The callbacks very closely match the productions
listed in the W3C XPath specification. Gratuitous
productions (e.g. Expr/startExpr()/endExpr()) are not
included in this API.
endAbsoluteLocationPath
public void endAbsoluteLocationPath()
throws SAXPathExceptionReceive notification of the end of an absolute location path expression.
endAdditiveExpr
public void endAdditiveExpr(int additiveOperator)
throws SAXPathExceptionReceive notification of the end of an additive ('+' or '-') expression.
additiveOperator - the operator specific to this particular
additive expression. If NO_OP, this expression
is only a pass-through, and should not actually
be instantiated.
endAllNodeStep
public void endAllNodeStep()
throws SAXPathExceptionReceive notification of the end of a node() step.
endAndExpr
public void endAndExpr(boolean create)
throws SAXPathExceptionReceive notification of the end of an 'and' expression.
create - flag that indicates if this expression
should truly be instantiated, or if it was just
a pass-through, based upon the grammar productions
endCommentNodeStep
public void endCommentNodeStep()
throws SAXPathExceptionReceive notification of the end of a comment() step.
endEqualityExpr
public void endEqualityExpr(int equalityOperator)
throws SAXPathExceptionReceive notification of the end of an equality ('=' or '!=') expression.
equalityOperator - the operator specific to this particular
equality expression. If null, this expression
is only a pass-through, and should not actually
be instantiated.
endFilterExpr
public void endFilterExpr()
throws SAXPathExceptionReceive notification of the end of a filter expression.
endFunction
public void endFunction()
throws SAXPathExceptionReceive notification of the end of a function call
endMultiplicativeExpr
public void endMultiplicativeExpr(int multiplicativeOperator)
throws SAXPathExceptionReceive notification of the start of a multiplicative ('*', 'div' or 'mod') expression.
multiplicativeOperator - the operator specific to this particular
multiplicative expression. If null, this expression
is only a pass-through, and should not actually
be instantiated.
endNameStep
public void endNameStep()
throws SAXPathExceptionReceive notification of the end of a NameStep
endOrExpr
public void endOrExpr(boolean create)
throws SAXPathExceptionReceive notification of the end of an 'or' expression.
create - flag that indicates if this expression
should truly be instantiated, or if it was just
a pass-through, based upon the grammar productions
endPathExpr
public void endPathExpr()
throws SAXPathExceptionReceive notification of the end of a path expression.
endPredicate
public void endPredicate()
throws SAXPathExceptionReceive notification of the end of a predicate.
endProcessingInstructionNodeStep
public void endProcessingInstructionNodeStep()
throws SAXPathExceptionReceive notification of the end of a processing-instruction(...) step.
endRelationalExpr
public void endRelationalExpr(int relationalOperator)
throws SAXPathExceptionReceive notification of the start of a relational ('<', '>', '<=', or '>=') expression.
relationalOperator - the operator specific to this particular
relational expression. If NO_OP, this expression
is only a pass-through, and should not actually
be instantiated.
endRelativeLocationPath
public void endRelativeLocationPath()
throws SAXPathExceptionReceive notification of the end of a relative location path expression.
endTextNodeStep
public void endTextNodeStep()
throws SAXPathExceptionReceive notification of the end of a text() step.
endUnaryExpr
public void endUnaryExpr(int unaryOperator)
throws SAXPathExceptionReceive notification of the end of a unary ('+' or '-') expression.
unaryOperator - the operator specific to this particular
unary expression. If NO_OP, this expression is only
a pass-through, and should not actually be instantiated.
If not Operator.NO_OP, it will
always be Operator.NEGATIVE.
endUnionExpr
public void endUnionExpr(boolean create)
throws SAXPathExceptionReceive notification of the end of a union ('|') expression.
create - flag that indicates if this expression
should truly be instantiated, or if it was just
a pass-through, based upon the grammar productions
endXPath
public void endXPath()
throws SAXPathExceptionReceive notification of the end of an XPath expression parse.
literal
public void literal(String literal)
throws SAXPathExceptionReceive notification of a literal expression.
literal - the string literal value
number
public void number(double number)
throws SAXPathExceptionReceive notification of a number expression.
number - the number value
number
public void number(int number)
throws SAXPathExceptionReceive notification of a number expression.
number - the number value
startAbsoluteLocationPath
public void startAbsoluteLocationPath()
throws SAXPathExceptionReceive notification of the start of an absolute location path expression.
startAdditiveExpr
public void startAdditiveExpr()
throws SAXPathExceptionReceive notification of the start of an additive ('+' or '-') expression.
startAllNodeStep
public void startAllNodeStep(int axis)
throws SAXPathExceptionReceive notification of the start of a node() step.
axis - the axis of this step
startAndExpr
public void startAndExpr()
throws SAXPathExceptionReceive notification of the start of an 'and' expression.
startCommentNodeStep
public void startCommentNodeStep(int axis)
throws SAXPathExceptionReceive notification of the start of a comment() step.
axis - the axis of this step
startEqualityExpr
public void startEqualityExpr()
throws SAXPathExceptionReceive notification of the start of an equality ('=' or '!=') expression.
startFilterExpr
public void startFilterExpr()
throws SAXPathExceptionReceive notification of the start of a filter expression.
startFunction
public void startFunction(String prefix,
String functionName)
throws SAXPathExceptionReceive notification of a function call.
prefix - the namespace prefix of the functionfunctionName - the local name of the function
startMultiplicativeExpr
public void startMultiplicativeExpr()
throws SAXPathExceptionReceive notification of the start of a multiplicative ('*', 'div' or 'mod') expression.
startNameStep
public void startNameStep(int axis,
String prefix,
String localName)
throws SAXPathExceptionReceive notification of the start of a name step.
axis - the axis of this stepprefix - the namespace prefix for the name to test,
or the empty string if no prefix is specifiedlocalName - the local part of the name to test
startOrExpr
public void startOrExpr()
throws SAXPathExceptionReceive notification of the start of an 'or' expression.
startPathExpr
public void startPathExpr()
throws SAXPathExceptionReceive notification of the start of a path expression.
startPredicate
public void startPredicate()
throws SAXPathExceptionReceive notification of the start of a predicate.
startProcessingInstructionNodeStep
public void startProcessingInstructionNodeStep(int axis,
String name)
throws SAXPathExceptionReceive notification of the start of a processing-instruction(...) step.
axis - the axis of this stepname - the name of the processing-instruction, or
the empty string if none is specified
startRelationalExpr
public void startRelationalExpr()
throws SAXPathExceptionReceive notification of the start of a relational ('<', '>', '<=', or '>=') expression.
startRelativeLocationPath
public void startRelativeLocationPath()
throws SAXPathExceptionReceive notification of the start of a relative location path expression.
startTextNodeStep
public void startTextNodeStep(int axis)
throws SAXPathExceptionReceive notification of the start of a text() step.
axis - the axis of this step
startUnaryExpr
public void startUnaryExpr()
throws SAXPathExceptionReceive notification of the start of a unary ('+' or '-') expression.
startUnionExpr
public void startUnionExpr()
throws SAXPathExceptionReceive notification of the start of a union ('|') expression.
startXPath
public void startXPath()
throws SAXPathExceptionReceive notification of the start of an XPath expression parse.
variableReference
public void variableReference(String prefix,
String variableName)
throws SAXPathExceptionReceive notification of a variable-reference expression.
prefix - the namespace prefix of the variablevariableName - the local name of the variable