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 Details

    • 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 Details

    • 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