com.icl.saxon.expr
Class NodeSetExpression
java.lang.Object
|
+--com.icl.saxon.expr.Expression
|
+--com.icl.saxon.expr.NodeSetExpression
- Direct Known Subclasses:
- NodeListExpression, PathExpression, SingletonExpression, SortedSelection
- public abstract class NodeSetExpression
- extends Expression
A NodeSetExpression is any expression denoting a set of nodes.
This is an abstract class, the methods are defaults which may be overridden in subclasses
Methods inherited from class com.icl.saxon.expr.Expression |
containsReferences, display, evaluateAsNumber, getDependencies, getStaticContext, indent, isContextDocumentNodeSet, make, reduce, setStaticContext, simplify, usesCurrent |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NodeSetExpression
public NodeSetExpression()
enumerate
public abstract NodeEnumeration enumerate(Context context,
boolean sorted)
throws XPathException
- Return a node enumeration. All NodeSetExpressions must implement this method:
the evaluate() function is defined in terms of it. (But note that some expressions
that return node-sets are not NodeSetExpressions: for example functions such as
key(), id(), and document() are not, and neither are variable references).
- Overrides:
enumerate
in class Expression
- Parameters:
context
- The evaluation contextsorted
- True if the nodes must be returned in document order
evaluate
public Value evaluate(Context context)
throws XPathException
- Evaluate this node-set. This doesn't actually retrieve all the nodes: it returns a wrapper
around a node-set expression in which all context dependencies have been eliminated.
- Overrides:
evaluate
in class Expression
- Following copied from class:
com.icl.saxon.expr.Expression
- Parameters:
context
- The context in which the expression is to be evaluated- Returns:
- the value of the expression, evaluated in the current context
selectFirst
public NodeInfo selectFirst(Context context)
throws XPathException
- Return the first node selected by this Expression when evaluated
in the current context
- Parameters:
context
- The context for the evaluation- Returns:
- the NodeInfo of the first node in document order, or null if the node-set
is empty.
evaluateAsString
public java.lang.String evaluateAsString(Context context)
throws XPathException
- Evaluate as a string. Returns the string value of the first node
selected by the NodeSetExpression
- Overrides:
evaluateAsString
in class Expression
- Parameters:
context
- The context in which the expression is to be evaluated- Returns:
- the value of the NodeSetExpression, evaluated in the current context
outputStringValue
public void outputStringValue(Outputter out,
Context context)
throws javax.xml.transform.TransformerException
- Evaluate an expression as a String and write the result to the
specified outputter.
- Overrides:
outputStringValue
in class Expression
- Parameters:
context
- The context in which the expression is to be evaluated- Returns:
- the value of the expression, evaluated in the current context
evaluateAsBoolean
public boolean evaluateAsBoolean(Context context)
throws XPathException
- Evaluate as a boolean. Returns true if there are any nodes
selected by the NodeSetExpression
- Overrides:
evaluateAsBoolean
in class Expression
- Parameters:
context
- The context in which the expression is to be evaluated- Returns:
- true if there are any nodes selected by the NodeSetExpression
evaluateAsNodeSet
public NodeSetValue evaluateAsNodeSet(Context context)
throws XPathException
- Evaluate an expression as a NodeSet.
- Overrides:
evaluateAsNodeSet
in class Expression
- Parameters:
context
- The context in which the expression is to be evaluated- Returns:
- the value of the expression, evaluated in the current context
getDataType
public int getDataType()
- Determine the data type of the exprssion, if possible
- Overrides:
getDataType
in class Expression
- Returns:
- Value.NODESET