Package com.icl.saxon.expr
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
-
public class NodeSetIntent extends NodeSetValue
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 com.icl.saxon.expr.Expression
staticContext
-
-
Constructor Summary
Constructors Constructor Description NodeSetIntent(NodeSetExpression exp, Controller controller)
Construct a node-set containing all the nodes in a NodeEnumeration
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
asBoolean()
Evaluate as a boolean.java.lang.String
asString()
Convert to string valueNodeEnumeration
enumerate()
Return an enumeration of this nodeset value.int
getCount()
Count the nodes in the node-set.NodeInfo
getFirst()
Get the first node in the nodeset (in document order)NodeSetExpression
getNodeSetExpression()
Get the encapsulated NodeSetExpressionboolean
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.boolean
isSorted()
Test whether the value is known to be sortedNodeInfo
selectFirst(Context context)
Return the first node in the nodeset (in document order)void
setSorted(boolean isSorted)
Set a flag to indicate whether the nodes are sorted.NodeSetValue
sort()
Sort the nodes into document order.-
Methods inherited from class com.icl.saxon.expr.NodeSetValue
asNumber, compare, conversionPreference, convertToJava, display, enumerate, equals, evaluate, evaluateAsNodeSet, getDataType, notEquals
-
Methods inherited from class com.icl.saxon.expr.Value
getDependencies, inverse, numericCompare, reduce, simplify, stringToNumber
-
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, evaluateAsBoolean, evaluateAsNumber, evaluateAsString, getStaticContext, indent, make, outputStringValue, setStaticContext, usesCurrent
-
-
-
-
Constructor Detail
-
NodeSetIntent
public NodeSetIntent(NodeSetExpression exp, Controller controller) throws XPathException
Construct a node-set containing all the nodes in a NodeEnumeration- Throws:
XPathException
-
-
Method Detail
-
getNodeSetExpression
public NodeSetExpression 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:
setSorted
in 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
public boolean isSorted() throws XPathException
Test whether the value is known to be sorted- Specified by:
isSorted
in 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:
isContextDocumentNodeSet
in classExpression
-
asString
public java.lang.String asString() throws XPathException
Convert to string value- Specified by:
asString
in classNodeSetValue
- Returns:
- the value of the first node in the node-set if there is one, otherwise an empty string
- Throws:
XPathException
-
asBoolean
public boolean asBoolean() throws XPathException
Evaluate as a boolean.- Specified by:
asBoolean
in classNodeSetValue
- Returns:
- true if the node set is not empty
- Throws:
XPathException
-
getCount
public int getCount() throws XPathException
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:
getCount
in classNodeSetValue
- Throws:
XPathException
-
sort
public NodeSetValue sort() throws XPathException
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:
sort
in classNodeSetValue
- Returns:
- the same NodeSetValue, after sorting.
- Throws:
XPathException
-
getFirst
public NodeInfo getFirst() throws XPathException
Get the first node in the nodeset (in document order)- Specified by:
getFirst
in classNodeSetValue
- Returns:
- the first node
- Throws:
XPathException
-
selectFirst
public NodeInfo selectFirst(Context context) throws XPathException
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
public NodeEnumeration enumerate() throws XPathException
Return an enumeration of this nodeset value.- Specified by:
enumerate
in classNodeSetValue
- Throws:
XPathException
-
-