Class NodeSetIntent
java.lang.Object
com.icl.saxon.expr.Expression
com.icl.saxon.expr.Value
com.icl.saxon.expr.NodeSetValue
com.icl.saxon.expr.NodeSetIntent
A node-set value implemented intensionally. It is a wrapper round an Expression which
can be evaluated independently of context, that is it has been reduced so there are
no remaining context-dependencies.
-
Field Summary
Fields inherited from class Expression
staticContext -
Constructor Summary
ConstructorsConstructorDescriptionNodeSetIntent(NodeSetExpression exp, Controller controller) Construct a node-set containing all the nodes in a NodeEnumeration -
Method Summary
Modifier and TypeMethodDescriptionbooleanEvaluate as a boolean.asString()Convert to string valueReturn an enumeration of this nodeset value.intgetCount()Count the nodes in the node-set.getFirst()Get the first node in the nodeset (in document order)Get the encapsulated NodeSetExpressionbooleanDetermine, in the case of an expression whose data type is Value.NODESET, whether all the nodes in the node-set are guaranteed to come from the same document as the context node.booleanisSorted()Test whether the value is known to be sortedselectFirst(Context context) Return the first node in the nodeset (in document order)voidsetSorted(boolean isSorted) Set a flag to indicate whether the nodes are sorted.sort()Sort the nodes into document order.Methods inherited from class NodeSetValue
asNumber, compare, conversionPreference, convertToJava, display, enumerate, equals, evaluate, evaluateAsNodeSet, getDataType, notEqualsMethods inherited from class Value
getDependencies, inverse, numericCompare, reduce, simplify, stringToNumberMethods inherited from class Expression
containsReferences, evaluateAsBoolean, evaluateAsNumber, evaluateAsString, getStaticContext, indent, make, outputStringValue, setStaticContext, usesCurrent
-
Constructor Details
-
NodeSetIntent
Construct a node-set containing all the nodes in a NodeEnumeration- Throws:
XPathException
-
-
Method Details
-
getNodeSetExpression
Get the encapsulated NodeSetExpression -
setSorted
public void setSorted(boolean isSorted) Set a flag to indicate whether the nodes are sorted. Used when the creator of the node-set knows that they are already in document order.- Specified by:
setSortedin classNodeSetValue- Parameters:
isSorted- true if the caller wishes to assert that the nodes will be delivered in document order and do not need to be further sorted
-
isSorted
Test whether the value is known to be sorted- Specified by:
isSortedin classNodeSetValue- Returns:
- true if the value is known to be sorted in document order, false if it is not known whether it is sorted.
- Throws:
XPathException
-
isContextDocumentNodeSet
public boolean isContextDocumentNodeSet()Determine, in the case of an expression whose data type is Value.NODESET, whether all the nodes in the node-set are guaranteed to come from the same document as the context node. Used for optimization.- Overrides:
isContextDocumentNodeSetin classExpression
-
asString
Convert to string value- Specified by:
asStringin classNodeSetValue- Returns:
- the value of the first node in the node-set if there is one, otherwise an empty string
- Throws:
XPathException
-
asBoolean
Evaluate as a boolean.- Specified by:
asBooleanin classNodeSetValue- Returns:
- true if the node set is not empty
- Throws:
XPathException
-
getCount
Count the nodes in the node-set. Note this will sort the node set if necessary, to make sure there are no duplicates.- Specified by:
getCountin classNodeSetValue- Throws:
XPathException
-
sort
Sort the nodes into document order. This does nothing if the nodes are already known to be sorted; to force a sort, call setSorted(false)- Specified by:
sortin classNodeSetValue- Returns:
- the same NodeSetValue, after sorting.
- Throws:
XPathException
-
getFirst
Get the first node in the nodeset (in document order)- Specified by:
getFirstin classNodeSetValue- Returns:
- the first node
- Throws:
XPathException
-
selectFirst
Return the first node in the nodeset (in document order)- Parameters:
context- The context for the evaluation: not used- Returns:
- the NodeInfo of the first node in document order, or null if the node-set is empty.
- Throws:
XPathException
-
enumerate
Return an enumeration of this nodeset value.- Specified by:
enumeratein classNodeSetValue- Throws:
XPathException
-