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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      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​(java.lang.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​(java.lang.String prefix, java.lang.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, java.lang.String prefix, java.lang.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, java.lang.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​(java.lang.String prefix, java.lang.String variableName)
      Receive notification of a variable-reference expression.
    • Method Detail

      • 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,
                           java.lang.String prefix,
                           java.lang.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
      • 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
      • 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
      • 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
      • startProcessingInstructionNodeStep

        void startProcessingInstructionNodeStep​(int axis,
                                                java.lang.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
      • 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
      • 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
      • 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
      • 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​(java.lang.String literal)
              throws SAXPathException
        Receive notification of a literal expression.
        Parameters:
        literal - the string literal value
        Throws:
        SAXPathException
      • variableReference

        void variableReference​(java.lang.String prefix,
                               java.lang.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​(java.lang.String prefix,
                           java.lang.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