Class AxisExpression


  • final class AxisExpression
    extends NodeSetExpression
    An AxisExpression is always obtained by simplifying a PathExpression. It represents a PathExpression that starts at the context node, and uses a simple node-test with no filters. For example "*", "title", "./item", "@*", or "ancestor::chapter*".
    • Constructor Detail

      • AxisExpression

        public AxisExpression​(byte axis,
                              NodeTest nodeTest)
        Constructor
        Parameters:
        start - A node-set expression denoting the absolute or relative set of nodes from which the navigation path should start.
        step - The step to be followed from each node in the start expression to yield a new node-set
    • Method Detail

      • simplify

        public Expression simplify()
        Simplify an expression
        Overrides:
        simplify in class Expression
        Returns:
        the simplified expression
      • getDependencies

        public int getDependencies()
        Determine which aspects of the context the expression depends on. The result is a bitwise-or'ed value composed from constants such as Context.VARIABLES and Context.CURRENT_NODE
        Specified by:
        getDependencies in class Expression
      • isContextDocumentNodeSet

        public boolean isContextDocumentNodeSet()
        Determine, in the case of an expression whose data type is Value.NODESET, whether all the nodes in the node-set are guaranteed to come from the same document as the context node. Used for optimization.
        Overrides:
        isContextDocumentNodeSet in class Expression
      • reduce

        public Expression reduce​(int dep,
                                 Context context)
                          throws XPathException
        Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.
        Specified by:
        reduce in class Expression
        Parameters:
        dep - The dependencies to be removed
        context - The context to be used for the partial evaluation
        Returns:
        a new expression that does not have any of the specified dependencies
        Throws:
        XPathException
      • enumerate

        public NodeEnumeration enumerate​(Context context,
                                         boolean sort)
                                  throws XPathException
        Evaluate the path-expression in a given context to return a NodeSet
        Specified by:
        enumerate in class NodeSetExpression
        Parameters:
        context - the evaluation context
        sort - true if the returned nodes must be in document order
        Throws:
        XPathException - when the expression does not return a nodeset.
      • evaluate

        public Value evaluate​(Context context)
                       throws XPathException
        Evaluate the expression (typically used if the result is to be stored in a variable)
        Overrides:
        evaluate in class NodeSetExpression
        Parameters:
        context - The context in which the expression is to be evaluated
        Returns:
        the value of the expression, evaluated in the current context
        Throws:
        XPathException
      • display

        public void display​(int level)
        Diagnostic print of expression structure
        Specified by:
        display in class Expression