Class RootExpression

All Implemented Interfaces:
Serializable, SourceLocator, LocationProvider, SaxonLocator, EvaluableItem, SequenceIterable, InstructionInfo, Locator

public class RootExpression extends SingleNodeExpression
An expression whose value is always a set of nodes containing a single node, the document root. This corresponds to the XPath Expression "/", including the implicit "/" at the start of a path expression with a leading "/".
See Also:
  • Constructor Details

    • RootExpression

      public RootExpression()
  • Method Details

    • equals

      public boolean equals(Object other)
      Is this expression the same as another expression?
      Overrides:
      equals in class Object
    • computeCardinality

      public final int computeCardinality()
      Specify that the expression returns a singleton
      Overrides:
      computeCardinality in class SingleNodeExpression
      Returns:
      the computed cardinality, as one of the values StaticProperty.ALLOWS_ZERO_OR_ONE, StaticProperty.EXACTLY_ONE, StaticProperty.ALLOWS_ONE_OR_MORE, StaticProperty.ALLOWS_ZERO_OR_MORE
    • getItemType

      public ItemType getItemType(TypeHierarchy th)
      Determine the data type of the items returned by this expression
      Overrides:
      getItemType in class SingleNodeExpression
      Parameters:
      th - the type hierarchy cache
      Returns:
      Type.NODE
    • hashCode

      public int hashCode()
      get HashCode for comparing two expressions
      Overrides:
      hashCode in class Object
    • getNode

      public NodeInfo getNode(XPathContext context) throws XPathException
      Return the first element selected by this Expression
      Specified by:
      getNode in class SingleNodeExpression
      Parameters:
      context - The evaluation context
      Returns:
      the NodeInfo of the first selected element, or null if no element is selected
      Throws:
      XPathException
    • getIntrinsicDependencies

      public int getIntrinsicDependencies()
      Determine which aspects of the context the expression depends on. The result is a bitwise-or'ed value composed from constants such as StaticProperty.VARIABLES and StaticProperty.CURRENT_NODE
      Overrides:
      getIntrinsicDependencies in class SingleNodeExpression
      Returns:
      a set of bit-significant flags identifying the "intrinsic" dependencies. The flags are documented in class net.sf.saxon.value.StaticProperty
    • copy

      public Expression copy()
      Copy an expression. This makes a deep copy.
      Specified by:
      copy in class Expression
      Returns:
      the copy of the original expression
    • addToPathMap

      public PathMap.PathMapNodeSet addToPathMap(PathMap pathMap, PathMap.PathMapNodeSet pathMapNodeSet)
      Add a representation of this expression to a PathMap. The PathMap captures a map of the nodes visited by an expression in a source tree.
      Overrides:
      addToPathMap in class Expression
      Parameters:
      pathMap - the PathMap to which the expression should be added
      pathMapNodeSet -
      Returns:
      the pathMapNode representing the focus established by this expression, in the case where this expression is the first operand of a path expression or filter expression
    • toString

      public String toString()
      The toString() method for an expression attempts to give a representation of the expression in an XPath-like form, but there is no guarantee that the syntax will actually be true XPath. In the case of XSLT instructions, the toString() method gives an abstracted view of the syntax
      Overrides:
      toString in class Expression
    • explain

      public void explain(ExpressionPresenter destination)
      Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination.
      Specified by:
      explain in class Expression
      Parameters:
      destination - the expression presenter used to display the structure