org.jaxen.saxpath
Interface XPathHandler

All Known Implementing Classes:
JaxenHandler

public interface XPathHandler

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.

Author:
bob mcwhirter (bob@werken.com)

Method Summary
 void endAbsoluteLocationPath()
          Receive notification of the end of an absolute location path expression.
 void endAdditiveExpr(int additiveOperator)
          Receive notification of the end of an additive ('+' or '-') expression.
 void endAllNodeStep()
          Receive notification of the end of a node() step.
 void endAndExpr(boolean create)
          Receive notification of the end of an 'and' expression.
 void endCommentNodeStep()
          Receive notification of the end of a comment() step.
 void endEqualityExpr(int equalityOperator)
          Receive notification of the end of an equality ('=' or '!=') expression.
 void endFilterExpr()
          Receive notification of the end of a filter expression.
 void endFunction()
          Receive notification of the end of a function call
 void endMultiplicativeExpr(int multiplicativeOperator)
          Receive notification of the start of a multiplicative ('*', 'div' or 'mod') expression.
 void endNameStep()
          Receive notification of the end of a NameStep
 void endOrExpr(boolean create)
          Receive notification of the end of an 'or' expression.
 void endPathExpr()
          Receive notification of the end of a path expression.
 void endPredicate()
          Receive notification of the end of a predicate.
 void endProcessingInstructionNodeStep()
          Receive notification of the end of a processing-instruction(...) step.
 void endRelationalExpr(int relationalOperator)
          Receive notification of the start of a relational ('<', '>', '<=', or '>=') expression.
 void endRelativeLocationPath()
          Receive notification of the end of a relative location path expression.
 void endTextNodeStep()
          Receive notification of the end of a text() step.
 void endUnaryExpr(int unaryOperator)
          Receive notification of the end of a unary ('+' or '-') expression.
 void endUnionExpr(boolean create)
          Receive notification of the end of a union ('|') expression.
 void endXPath()
          Receive notification of the end of an XPath expression parse.
 void literal(String literal)
          Receive notification of a literal expression.
 void number(double number)
          Receive notification of a number expression.
 void number(int number)
          Receive notification of a number expression.
 void startAbsoluteLocationPath()
          Receive notification of the start of an absolute location path expression.
 void startAdditiveExpr()
          Receive notification of the start of an additive ('+' or '-') expression.
 void startAllNodeStep(int axis)
          Receive notification of the start of a node() step.
 void startAndExpr()
          Receive notification of the start of an 'and' expression.
 void startCommentNodeStep(int axis)
          Receive notification of the start of a comment() step.
 void startEqualityExpr()
          Receive notification of the start of an equality ('=' or '!=') expression.
 void startFilterExpr()
          Receive notification of the start of a filter expression.
 void startFunction(String prefix, String functionName)
          Receive notification of a function call.
 void startMultiplicativeExpr()
          Receive notification of the start of a multiplicative ('*', 'div' or 'mod') expression.
 void startNameStep(int axis, String prefix, String localName)
          Receive notification of the start of a name step.
 void startOrExpr()
          Receive notification of the start of an 'or' expression.
 void startPathExpr()
          Receive notification of the start of a path expression.
 void startPredicate()
          Receive notification of the start of a predicate.
 void startProcessingInstructionNodeStep(int axis, String name)
          Receive notification of the start of a processing-instruction(...) step.
 void startRelationalExpr()
          Receive notification of the start of a relational ('<', '>', '<=', or '>=') expression.
 void startRelativeLocationPath()
          Receive notification of the start of a relative location path expression.
 void startTextNodeStep(int axis)
          Receive notification of the start of a text() step.
 void startUnaryExpr()
          Receive notification of the start of a unary ('+' or '-') expression.
 void startUnionExpr()
          Receive notification of the start of a union ('|') expression.
 void startXPath()
          Receive notification of the start of an XPath expression parse.
 void variableReference(String prefix, String variableName)
          Receive notification of a variable-reference expression.
 

Method Detail

startXPath

public void startXPath()
                throws SAXPathException
Receive notification of the start of an XPath expression parse.

Throws:
SAXPathException

endXPath

public void endXPath()
              throws SAXPathException
Receive notification of the end of an XPath expression parse.

Throws:
SAXPathException

startPathExpr

public void startPathExpr()
                   throws SAXPathException
Receive notification of the start of a path expression.

Throws:
SAXPathException

endPathExpr

public void endPathExpr()
                 throws SAXPathException
Receive notification of the end of a path expression.

Throws:
SAXPathException

startAbsoluteLocationPath

public void startAbsoluteLocationPath()
                               throws SAXPathException
Receive notification of the start of an absolute location path expression.

Throws:
SAXPathException

endAbsoluteLocationPath

public void endAbsoluteLocationPath()
                             throws SAXPathException
Receive notification of the end of an absolute location path expression.

Throws:
SAXPathException

startRelativeLocationPath

public void startRelativeLocationPath()
                               throws SAXPathException
Receive notification of the start of a relative location path expression.

Throws:
SAXPathException

endRelativeLocationPath

public void endRelativeLocationPath()
                             throws SAXPathException
Receive notification of the end of a relative location path expression.

Throws:
SAXPathException

startNameStep

public void startNameStep(int axis,
                          String prefix,
                          String localName)
                   throws SAXPathException
Receive notification of the start of a name step.

Parameters:
axis - the axis of this step
prefix - the namespace prefix for the name to test, or the empty string if no prefix is specified
localName - the local part of the name to test
Throws:
SAXPathException

endNameStep

public void endNameStep()
                 throws SAXPathException
Receive notification of the end of a NameStep

Throws:
SAXPathException

startTextNodeStep

public void startTextNodeStep(int axis)
                       throws SAXPathException
Receive notification of the start of a text() step.

Parameters:
axis - the axis of this step
Throws:
SAXPathException

endTextNodeStep

public void endTextNodeStep()
                     throws SAXPathException
Receive notification of the end of a text() step.

Throws:
SAXPathException

startCommentNodeStep

public void startCommentNodeStep(int axis)
                          throws SAXPathException
Receive notification of the start of a comment() step.

Parameters:
axis - the axis of this step
Throws:
SAXPathException

endCommentNodeStep

public void endCommentNodeStep()
                        throws SAXPathException
Receive notification of the end of a comment() step.

Throws:
SAXPathException

startAllNodeStep

public void startAllNodeStep(int axis)
                      throws SAXPathException
Receive notification of the start of a node() step.

Parameters:
axis - the axis of this step
Throws:
SAXPathException

endAllNodeStep

public void endAllNodeStep()
                    throws SAXPathException
Receive notification of the end of a node() step.

Throws:
SAXPathException

startProcessingInstructionNodeStep

public void startProcessingInstructionNodeStep(int axis,
                                               String name)
                                        throws SAXPathException
Receive notification of the start of a processing-instruction(...) step.

Parameters:
axis - the axis of this step
name - the name of the processing-instruction, or the empty string if none is specified
Throws:
SAXPathException

endProcessingInstructionNodeStep

public void endProcessingInstructionNodeStep()
                                      throws SAXPathException
Receive notification of the end of a processing-instruction(...) step.

Throws:
SAXPathException

startPredicate

public void startPredicate()
                    throws SAXPathException
Receive notification of the start of a predicate.

Throws:
SAXPathException

endPredicate

public void endPredicate()
                  throws SAXPathException
Receive notification of the end of a predicate.

Throws:
SAXPathException

startFilterExpr

public void startFilterExpr()
                     throws SAXPathException
Receive notification of the start of a filter expression.

Throws:
SAXPathException

endFilterExpr

public void endFilterExpr()
                   throws SAXPathException
Receive notification of the end of a filter expression.

Throws:
SAXPathException

startOrExpr

public void startOrExpr()
                 throws SAXPathException
Receive notification of the start of an 'or' expression.

Throws:
SAXPathException

endOrExpr

public void endOrExpr(boolean create)
               throws SAXPathException
Receive notification of the end of an 'or' expression.

Parameters:
create - flag that indicates if this expression should truly be instantiated, or if it was just a pass-through, based upon the grammar productions
Throws:
SAXPathException

startAndExpr

public void startAndExpr()
                  throws SAXPathException
Receive notification of the start of an 'and' expression.

Throws:
SAXPathException

endAndExpr

public void endAndExpr(boolean create)
                throws SAXPathException
Receive notification of the end of an 'and' expression.

Parameters:
create - flag that indicates if this expression should truly be instantiated, or if it was just a pass-through, based upon the grammar productions
Throws:
SAXPathException

startEqualityExpr

public void startEqualityExpr()
                       throws SAXPathException
Receive notification of the start of an equality ('=' or '!=') expression.

Throws:
SAXPathException

endEqualityExpr

public void endEqualityExpr(int equalityOperator)
                     throws SAXPathException
Receive notification of the end of an equality ('=' or '!=') expression.

Parameters:
equalityOperator - the operator specific to this particular equality expression. If null, this expression is only a pass-through, and should not actually be instantiated.
Throws:
SAXPathException

startRelationalExpr

public void startRelationalExpr()
                         throws SAXPathException
Receive notification of the start of a relational ('<', '>', '<=', or '>=') expression.

Throws:
SAXPathException

endRelationalExpr

public void endRelationalExpr(int relationalOperator)
                       throws SAXPathException
Receive notification of the start of a relational ('<', '>', '<=', or '>=') expression.

Parameters:
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.
Throws:
SAXPathException

startAdditiveExpr

public void startAdditiveExpr()
                       throws SAXPathException
Receive notification of the start of an additive ('+' or '-') expression.

Throws:
SAXPathException

endAdditiveExpr

public void endAdditiveExpr(int additiveOperator)
                     throws SAXPathException
Receive notification of the end of an additive ('+' or '-') expression.

Parameters:
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.
Throws:
SAXPathException

startMultiplicativeExpr

public void startMultiplicativeExpr()
                             throws SAXPathException
Receive notification of the start of a multiplicative ('*', 'div' or 'mod') expression.

Throws:
SAXPathException

endMultiplicativeExpr

public void endMultiplicativeExpr(int multiplicativeOperator)
                           throws SAXPathException
Receive notification of the start of a multiplicative ('*', 'div' or 'mod') expression.

Parameters:
multiplicativeOperator - the operator specific to this particular multiplicative expression. If null, this expression is only a pass-through, and should not actually be instantiated.
Throws:
SAXPathException

startUnaryExpr

public void startUnaryExpr()
                    throws SAXPathException
Receive notification of the start of a unary ('+' or '-') expression.

Throws:
SAXPathException

endUnaryExpr

public void endUnaryExpr(int unaryOperator)
                  throws SAXPathException
Receive notification of the end of a unary ('+' or '-') expression.

Parameters:
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.
Throws:
SAXPathException

startUnionExpr

public void startUnionExpr()
                    throws SAXPathException
Receive notification of the start of a union ('|') expression.

Throws:
SAXPathException

endUnionExpr

public void endUnionExpr(boolean create)
                  throws SAXPathException
Receive notification of the end of a union ('|') expression.

Parameters:
create - flag that indicates if this expression should truly be instantiated, or if it was just a pass-through, based upon the grammar productions
Throws:
SAXPathException

number

public void number(int number)
            throws SAXPathException
Receive notification of a number expression.

Parameters:
number - the number value
Throws:
SAXPathException

number

public void number(double number)
            throws SAXPathException
Receive notification of a number expression.

Parameters:
number - the number value
Throws:
SAXPathException

literal

public void literal(String literal)
             throws SAXPathException
Receive notification of a literal expression.

Parameters:
literal - the string literal value
Throws:
SAXPathException

variableReference

public void variableReference(String prefix,
                              String variableName)
                       throws SAXPathException
Receive notification of a variable-reference expression.

Parameters:
prefix - the namespace prefix of the variable
variableName - the local name of the variable
Throws:
SAXPathException

startFunction

public void startFunction(String prefix,
                          String functionName)
                   throws SAXPathException
Receive notification of a function call.

Parameters:
prefix - the namespace prefix of the function
functionName - the local name of the function
Throws:
SAXPathException

endFunction

public void endFunction()
                 throws SAXPathException
Receive notification of the end of a function call

Throws:
SAXPathException


Copyright © 2001-2007 Codehaus. All Rights Reserved.