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 NodeEnumerationenumerate(Context context, boolean sorted)Return a node enumeration.Valueevaluate(Context context)Evaluate this node-set.booleanevaluateAsBoolean(Context context)Evaluate as a boolean.NodeSetValueevaluateAsNodeSet(Context context)Evaluate an expression as a NodeSet.java.lang.StringevaluateAsString(Context context)Evaluate as a string.intgetDataType()Determine the data type of the exprssion, if possiblevoidoutputStringValue(Outputter out, Context context)Evaluate an expression as a String and write the result to the specified outputter.NodeInfoselectFirst(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:
enumeratein 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:
evaluatein 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:
evaluateAsStringin 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:
outputStringValuein 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:
evaluateAsBooleanin 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:
evaluateAsNodeSetin 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:
getDataTypein classExpression- Returns:
- Value.NODESET
-
-