net.sf.saxon.expr
Class RootExpression

java.lang.Object
  extended bynet.sf.saxon.expr.ComputedExpression
      extended bynet.sf.saxon.expr.SingleNodeExpression
          extended bynet.sf.saxon.expr.RootExpression
All Implemented Interfaces:
Container, Expression, InstructionInfoProvider, java.io.Serializable, javax.xml.transform.SourceLocator

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:
Serialized Form

Field Summary
 
Fields inherited from class net.sf.saxon.expr.ComputedExpression
locationId, staticProperties
 
Fields inherited from interface net.sf.saxon.expr.Expression
EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD
 
Constructor Summary
RootExpression()
           
 
Method Summary
 int computeCardinality()
          Specify that the expression returns a singleton
 void display(int level, NamePool pool, java.io.PrintStream out)
          Diagnostic print of expression structure
 boolean equals(java.lang.Object other)
          Is this expression the same as another expression?
 int getIntrinsicDependencies()
          Determine which aspects of the context the expression depends on.
 ItemType getItemType(TypeHierarchy th)
          Determine the data type of the items returned by this expression
 NodeInfo getNode(XPathContext context)
          Return the first element selected by this Expression
 int hashCode()
          get HashCode for comparing two expressions
 Expression simplify(StaticContext env)
          Simplify an expression
 
Methods inherited from class net.sf.saxon.expr.SingleNodeExpression
computeSpecialProperties, effectiveBooleanValue, evaluateItem, iterate, optimize, typeCheck
 
Methods inherited from class net.sf.saxon.expr.ComputedExpression
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, dynamicError, evaluateAsString, getCardinality, getColumnNumber, getConstructType, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, iterateSubExpressions, markTailFunctionCalls, process, promote, resetStaticProperties, setLocationId, setParentExpression, suppressValidation, typeError, typeError
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RootExpression

public RootExpression()
Method Detail

simplify

public Expression simplify(StaticContext env)
                    throws StaticError
Simplify an expression

Specified by:
simplify in interface Expression
Overrides:
simplify in class ComputedExpression
Returns:
the simplified expression
Throws:
StaticError

equals

public boolean equals(java.lang.Object other)
Is this expression the same as another expression?


computeCardinality

public final int computeCardinality()
Specify that the expression returns a singleton

Overrides:
computeCardinality in class SingleNodeExpression

getItemType

public ItemType getItemType(TypeHierarchy th)
Determine the data type of the items returned by this expression

Specified by:
getItemType in interface Expression
Overrides:
getItemType in class SingleNodeExpression
Parameters:
th -
Returns:
Type.NODE

hashCode

public int hashCode()
get HashCode for comparing two expressions


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

display

public void display(int level,
                    NamePool pool,
                    java.io.PrintStream out)
Diagnostic print of expression structure

Parameters:
level - indentation level for this expression
pool - NamePool used to expand any names appearing in the expression
out - Output destination