Interface XPathHandler

All Known Implementing Classes:
DefaultXPathHandler, JaxenHandler, PatternHandler

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.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    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
    Receive notification of the end of a node() step.
    void
    endAndExpr(boolean create)
    Receive notification of the end of an 'and' expression.
    void
    Receive notification of the end of a comment() step.
    void
    endEqualityExpr(int equalityOperator)
    Receive notification of the end of an equality ('=' or '!=') expression.
    void
    Receive notification of the end of a filter expression.
    void
    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
    Receive notification of the end of a NameStep
    void
    endOrExpr(boolean create)
    Receive notification of the end of an 'or' expression.
    void
    Receive notification of the end of a path expression.
    void
    Receive notification of the end of a predicate.
    void
    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
    Receive notification of the end of a relative location path expression.
    void
    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
    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
    Receive notification of the start of an absolute location path expression.
    void
    Receive notification of the start of an additive ('+' or '-') expression.
    void
    startAllNodeStep(int axis)
    Receive notification of the start of a node() step.
    void
    Receive notification of the start of an 'and' expression.
    void
    Receive notification of the start of a comment() step.
    void
    Receive notification of the start of an equality ('=' or '!=') expression.
    void
    Receive notification of the start of a filter expression.
    void
    startFunction(String prefix, String functionName)
    Receive notification of a function call.
    void
    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
    Receive notification of the start of an 'or' expression.
    void
    Receive notification of the start of a path expression.
    void
    Receive notification of the start of a predicate.
    void
    Receive notification of the start of a processing-instruction(...) step.
    void
    Receive notification of the start of a relational ('<', '>', '<=', or '>=') expression.
    void
    Receive notification of the start of a relative location path expression.
    void
    Receive notification of the start of a text() step.
    void
    Receive notification of the start of a unary ('+' or '-') expression.
    void
    Receive notification of the start of a union ('|') expression.
    void
    Receive notification of the start of an XPath expression parse.
    void
    variableReference(String prefix, String variableName)
    Receive notification of a variable-reference expression.
  • Method Details

    • startXPath

      void startXPath() throws SAXPathException
      Receive notification of the start of an XPath expression parse.
      Throws:
      SAXPathException
    • endXPath

      void endXPath() throws SAXPathException
      Receive notification of the end of an XPath expression parse.
      Throws:
      SAXPathException
    • startPathExpr

      void startPathExpr() throws SAXPathException
      Receive notification of the start of a path expression.
      Throws:
      SAXPathException
    • endPathExpr

      void endPathExpr() throws SAXPathException
      Receive notification of the end of a path expression.
      Throws:
      SAXPathException
    • startAbsoluteLocationPath

      void startAbsoluteLocationPath() throws SAXPathException
      Receive notification of the start of an absolute location path expression.
      Throws:
      SAXPathException
    • endAbsoluteLocationPath

      void endAbsoluteLocationPath() throws SAXPathException
      Receive notification of the end of an absolute location path expression.
      Throws:
      SAXPathException
    • startRelativeLocationPath

      void startRelativeLocationPath() throws SAXPathException
      Receive notification of the start of a relative location path expression.
      Throws:
      SAXPathException
    • endRelativeLocationPath

      void endRelativeLocationPath() throws SAXPathException
      Receive notification of the end of a relative location path expression.
      Throws:
      SAXPathException
    • startNameStep

      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

      void endNameStep() throws SAXPathException
      Receive notification of the end of a NameStep
      Throws:
      SAXPathException
    • startTextNodeStep

      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

      void endTextNodeStep() throws SAXPathException
      Receive notification of the end of a text() step.
      Throws:
      SAXPathException
    • startCommentNodeStep

      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

      void endCommentNodeStep() throws SAXPathException
      Receive notification of the end of a comment() step.
      Throws:
      SAXPathException
    • startAllNodeStep

      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

      void endAllNodeStep() throws SAXPathException
      Receive notification of the end of a node() step.
      Throws:
      SAXPathException
    • startProcessingInstructionNodeStep

      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

      void endProcessingInstructionNodeStep() throws SAXPathException
      Receive notification of the end of a processing-instruction(...) step.
      Throws:
      SAXPathException
    • startPredicate

      void startPredicate() throws SAXPathException
      Receive notification of the start of a predicate.
      Throws:
      SAXPathException
    • endPredicate

      void endPredicate() throws SAXPathException
      Receive notification of the end of a predicate.
      Throws:
      SAXPathException
    • startFilterExpr

      void startFilterExpr() throws SAXPathException
      Receive notification of the start of a filter expression.
      Throws:
      SAXPathException
    • endFilterExpr

      void endFilterExpr() throws SAXPathException
      Receive notification of the end of a filter expression.
      Throws:
      SAXPathException
    • startOrExpr

      void startOrExpr() throws SAXPathException
      Receive notification of the start of an 'or' expression.
      Throws:
      SAXPathException
    • endOrExpr

      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

      void startAndExpr() throws SAXPathException
      Receive notification of the start of an 'and' expression.
      Throws:
      SAXPathException
    • endAndExpr

      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

      void startEqualityExpr() throws SAXPathException
      Receive notification of the start of an equality ('=' or '!=') expression.
      Throws:
      SAXPathException
    • endEqualityExpr

      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

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

      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

      void startAdditiveExpr() throws SAXPathException
      Receive notification of the start of an additive ('+' or '-') expression.
      Throws:
      SAXPathException
    • endAdditiveExpr

      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

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

      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

      void startUnaryExpr() throws SAXPathException
      Receive notification of the start of a unary ('+' or '-') expression.
      Throws:
      SAXPathException
    • endUnaryExpr

      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

      void startUnionExpr() throws SAXPathException
      Receive notification of the start of a union ('|') expression.
      Throws:
      SAXPathException
    • endUnionExpr

      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

      void number(int number) throws SAXPathException
      Receive notification of a number expression.
      Parameters:
      number - the number value
      Throws:
      SAXPathException
    • number

      void number(double number) throws SAXPathException
      Receive notification of a number expression.
      Parameters:
      number - the number value
      Throws:
      SAXPathException
    • literal

      void literal(String literal) throws SAXPathException
      Receive notification of a literal expression.
      Parameters:
      literal - the string literal value
      Throws:
      SAXPathException
    • variableReference

      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

      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

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