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 SAXPathException
Receive notification of the end of an absolute location path expression.
endAdditiveExpr
public void endAdditiveExpr(int additiveOperator)
throws SAXPathException
Receive 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 SAXPathException
Receive notification of the end of a node() step.
endAndExpr
public void endAndExpr(boolean create)
throws SAXPathException
Receive 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 SAXPathException
Receive notification of the end of a comment() step.
endEqualityExpr
public void endEqualityExpr(int equalityOperator)
throws SAXPathException
Receive 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 SAXPathException
Receive notification of the end of a filter expression.
endFunction
public void endFunction()
throws SAXPathException
Receive notification of the end of a function call
endMultiplicativeExpr
public void endMultiplicativeExpr(int multiplicativeOperator)
throws SAXPathException
Receive 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 SAXPathException
Receive notification of the end of a NameStep
endOrExpr
public void endOrExpr(boolean create)
throws SAXPathException
Receive 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 SAXPathException
Receive notification of the end of a path expression.
endPredicate
public void endPredicate()
throws SAXPathException
Receive notification of the end of a predicate.
endProcessingInstructionNodeStep
public void endProcessingInstructionNodeStep()
throws SAXPathException
Receive notification of the end of a processing-instruction(...) step.
endRelationalExpr
public void endRelationalExpr(int relationalOperator)
throws SAXPathException
Receive 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 SAXPathException
Receive notification of the end of a relative location path expression.
endTextNodeStep
public void endTextNodeStep()
throws SAXPathException
Receive notification of the end of a text() step.
endUnaryExpr
public void endUnaryExpr(int unaryOperator)
throws SAXPathException
Receive 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 SAXPathException
Receive 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 SAXPathException
Receive notification of the end of an XPath expression parse.
literal
public void literal(String literal)
throws SAXPathException
Receive notification of a literal expression.
literal
- the string literal value
number
public void number(double number)
throws SAXPathException
Receive notification of a number expression.
number
- the number value
number
public void number(int number)
throws SAXPathException
Receive notification of a number expression.
number
- the number value
startAbsoluteLocationPath
public void startAbsoluteLocationPath()
throws SAXPathException
Receive notification of the start of an absolute location path expression.
startAdditiveExpr
public void startAdditiveExpr()
throws SAXPathException
Receive notification of the start of an additive ('+' or '-') expression.
startAllNodeStep
public void startAllNodeStep(int axis)
throws SAXPathException
Receive notification of the start of a node() step.
axis
- the axis of this step
startAndExpr
public void startAndExpr()
throws SAXPathException
Receive notification of the start of an 'and' expression.
startCommentNodeStep
public void startCommentNodeStep(int axis)
throws SAXPathException
Receive notification of the start of a comment() step.
axis
- the axis of this step
startEqualityExpr
public void startEqualityExpr()
throws SAXPathException
Receive notification of the start of an equality ('=' or '!=') expression.
startFilterExpr
public void startFilterExpr()
throws SAXPathException
Receive notification of the start of a filter expression.
startFunction
public void startFunction(String prefix,
String functionName)
throws SAXPathException
Receive notification of a function call.
prefix
- the namespace prefix of the functionfunctionName
- the local name of the function
startMultiplicativeExpr
public void startMultiplicativeExpr()
throws SAXPathException
Receive notification of the start of a multiplicative ('*', 'div' or 'mod') expression.
startNameStep
public void startNameStep(int axis,
String prefix,
String localName)
throws SAXPathException
Receive 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 SAXPathException
Receive notification of the start of an 'or' expression.
startPathExpr
public void startPathExpr()
throws SAXPathException
Receive notification of the start of a path expression.
startPredicate
public void startPredicate()
throws SAXPathException
Receive notification of the start of a predicate.
startProcessingInstructionNodeStep
public void startProcessingInstructionNodeStep(int axis,
String name)
throws SAXPathException
Receive 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 SAXPathException
Receive notification of the start of a relational ('<', '>', '<=', or '>=') expression.
startRelativeLocationPath
public void startRelativeLocationPath()
throws SAXPathException
Receive notification of the start of a relative location path expression.
startTextNodeStep
public void startTextNodeStep(int axis)
throws SAXPathException
Receive notification of the start of a text() step.
axis
- the axis of this step
startUnaryExpr
public void startUnaryExpr()
throws SAXPathException
Receive notification of the start of a unary ('+' or '-') expression.
startUnionExpr
public void startUnionExpr()
throws SAXPathException
Receive notification of the start of a union ('|') expression.
startXPath
public void startXPath()
throws SAXPathException
Receive notification of the start of an XPath expression parse.
variableReference
public void variableReference(String prefix,
String variableName)
throws SAXPathException
Receive notification of a variable-reference expression.
prefix
- the namespace prefix of the variablevariableName
- the local name of the variable