Package com.icl.saxon.expr
Class SingletonNodeSet
java.lang.Object
com.icl.saxon.expr.Expression
com.icl.saxon.expr.Value
com.icl.saxon.expr.NodeSetValue
com.icl.saxon.expr.SingletonNodeSet
- All Implemented Interfaces:
NodeList
- Direct Known Subclasses:
FragmentValue
,TextFragmentValue
A node-set value containing zero or one nodes
-
Field Summary
FieldsFields inherited from class com.icl.saxon.expr.Expression
staticContext
-
Constructor Summary
ConstructorsConstructorDescriptionCreate an empty node-setSingletonNodeSet
(NodeInfo node) Create a node-set containing one node -
Method Summary
Modifier and TypeMethodDescriptionvoid
Allow general use as a node-set.boolean
Evaluate as a boolean.asString()
Convert to string valueReturn an enumeration of this nodeset value.boolean
Test whether a nodeset "equals" another ValueEvaluate the Node Set.evaluateAsNodeSet
(Context context) Evaluate an expression as a NodeSet.int
getCount()
Count the nodes in the node-set.getFirst()
Get the first node in the nodeset (in document order)int
return the number of nodes in the list (DOM method)boolean
Determine if general use as a node-set is allowedboolean
isSorted()
Test whether the value is known to be sorteditem
(int index) Return the n'th item in the list (DOM method)boolean
Test whether a nodeset "not-equals" another Valuevoid
setSorted
(boolean isSorted) Set a flag to indicate whether the nodes are sorted.simplify()
Simplify the expressionsort()
Sort the nodes into document order.Methods inherited from class com.icl.saxon.expr.NodeSetValue
asNumber, compare, conversionPreference, convertToJava, display, enumerate, getDataType
Methods inherited from class com.icl.saxon.expr.Value
getDependencies, inverse, numericCompare, reduce, stringToNumber
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, evaluateAsBoolean, evaluateAsNumber, evaluateAsString, getStaticContext, indent, isContextDocumentNodeSet, make, outputStringValue, setStaticContext, usesCurrent
-
Field Details
-
node
-
generalUseAllowed
protected boolean generalUseAllowed
-
-
Constructor Details
-
SingletonNodeSet
public SingletonNodeSet()Create an empty node-set -
SingletonNodeSet
Create a node-set containing one node
-
-
Method Details
-
allowGeneralUse
public void allowGeneralUse()Allow general use as a node-set. This is required to lift the 1.0 restrictions on use of result tree fragments -
isGeneralUseAllowed
public boolean isGeneralUseAllowed()Determine if general use as a node-set is allowed -
simplify
Simplify the expression -
evaluate
Evaluate the Node Set. This guarantees to return the result in sorted order.- Overrides:
evaluate
in classNodeSetValue
- Parameters:
context
- The context for evaluation (not used)- Returns:
- the value, unchanged
-
evaluateAsNodeSet
Evaluate an expression as a NodeSet.- Overrides:
evaluateAsNodeSet
in classNodeSetValue
- Parameters:
context
- The context in which the expression is to be evaluated- Returns:
- the value of the expression, evaluated in the current context
-
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 are in document order and do not need to be further sorted
-
isSorted
public boolean isSorted()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.
-
asString
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
-
asBoolean
public boolean asBoolean()Evaluate as a boolean.- Specified by:
asBoolean
in classNodeSetValue
- Returns:
- true if the node set is not empty
-
getCount
public int 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:
getCount
in classNodeSetValue
-
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:
sort
in classNodeSetValue
- Returns:
- the same NodeSetValue, after sorting. (Historic)
-
getFirst
Get the first node in the nodeset (in document order)- Specified by:
getFirst
in classNodeSetValue
- Returns:
- the first node
-
equals
Test whether a nodeset "equals" another Value- Overrides:
equals
in classNodeSetValue
- Returns:
- a boolean giving the value of the expression, evaluated in the current context
- Throws:
XPathException
-
notEquals
Test whether a nodeset "not-equals" another Value- Overrides:
notEquals
in classNodeSetValue
- Returns:
- a boolean giving the value of the expression, evaluated in the current context
- Throws:
XPathException
-
enumerate
Return an enumeration of this nodeset value.- Specified by:
enumerate
in classNodeSetValue
- Throws:
XPathException
-
getLength
public int getLength()return the number of nodes in the list (DOM method) -
item
Return the n'th item in the list (DOM method)
-