Package com.icl.saxon.expr
Class NodeSetExpression
- java.lang.Object
-
- com.icl.saxon.expr.Expression
-
- com.icl.saxon.expr.NodeSetExpression
-
- Direct Known Subclasses:
AxisExpression
,FilterExpression
,NodeListExpression
,PathExpression
,SingletonExpression
,SortedSelection
,UnionExpression
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
-
-
Field Summary
-
Fields inherited from class com.icl.saxon.expr.Expression
staticContext
-
-
Constructor Summary
Constructors Constructor Description NodeSetExpression()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract NodeEnumeration
enumerate(Context context, boolean sorted)
Return a node enumeration.Value
evaluate(Context context)
Evaluate this node-set.boolean
evaluateAsBoolean(Context context)
Evaluate as a boolean.NodeSetValue
evaluateAsNodeSet(Context context)
Evaluate an expression as a NodeSet.java.lang.String
evaluateAsString(Context context)
Evaluate as a string.int
getDataType()
Determine the data type of the exprssion, if possiblevoid
outputStringValue(Outputter out, Context context)
Evaluate an expression as a String and write the result to the specified outputter.NodeInfo
selectFirst(Context context)
Return the first node selected by this Expression when evaluated in the current context-
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, display, evaluateAsNumber, getDependencies, getStaticContext, indent, isContextDocumentNodeSet, make, reduce, setStaticContext, simplify, usesCurrent
-
-
-
-
Method Detail
-
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 classExpression
- Parameters:
context
- The evaluation contextsorted
- True if the nodes must be returned in document order- Throws:
XPathException
- when the expression does not return a nodeset.
-
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.- Specified by:
evaluate
in classExpression
- 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
-
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.
- Throws:
XPathException
-
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 classExpression
- Parameters:
context
- The context in which the expression is to be evaluated- Returns:
- the value of the NodeSetExpression, evaluated in the current context
- Throws:
XPathException
-
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 classExpression
- Parameters:
context
- The context in which the expression is to be evaluatedout
- The required outputter- Throws:
javax.xml.transform.TransformerException
-
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 classExpression
- Parameters:
context
- The context in which the expression is to be evaluated- Returns:
- true if there are any nodes selected by the NodeSetExpression
- Throws:
XPathException
-
evaluateAsNodeSet
public NodeSetValue evaluateAsNodeSet(Context context) throws XPathException
Evaluate an expression as a NodeSet.- Overrides:
evaluateAsNodeSet
in classExpression
- 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
- when the expression does not return a nodeset.
-
getDataType
public int getDataType()
Determine the data type of the exprssion, if possible- Specified by:
getDataType
in classExpression
- Returns:
- Value.NODESET
-
-