Package com.icl.saxon.expr
Class SingletonExpression
- java.lang.Object
-
- com.icl.saxon.expr.Expression
-
- com.icl.saxon.expr.NodeSetExpression
-
- com.icl.saxon.expr.SingletonExpression
-
- Direct Known Subclasses:
AttributeReference
,ContextNodeExpression
,ParentNodeExpression
,RootExpression
public abstract class SingletonExpression extends NodeSetExpression
A node set expression that will always return zero or one nodes
-
-
Field Summary
-
Fields inherited from class com.icl.saxon.expr.Expression
staticContext
-
-
Constructor Summary
Constructors Constructor Description SingletonExpression()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description NodeEnumeration
enumerate(Context context, boolean sort)
Evaluate the expression in a given context to return a Node enumerationboolean
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.abstract NodeInfo
getNode(Context context)
Get the single node to which this expression refersboolean
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.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.NodeSetExpression
evaluate, getDataType, outputStringValue
-
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, display, evaluateAsNumber, getDependencies, getStaticContext, indent, make, reduce, setStaticContext, simplify, usesCurrent
-
-
-
-
Method Detail
-
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
-
getNode
public abstract NodeInfo getNode(Context context) throws XPathException
Get the single node to which this expression refers- Throws:
XPathException
-
selectFirst
public NodeInfo selectFirst(Context context) throws XPathException
Return the first node selected by this Expression when evaluated in the current context- Overrides:
selectFirst
in classNodeSetExpression
- 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
-
enumerate
public NodeEnumeration enumerate(Context context, boolean sort) throws XPathException
Evaluate the expression in a given context to return a Node enumeration- Specified by:
enumerate
in classNodeSetExpression
- Parameters:
context
- the evaluation contextsort
- Indicates result must be in document order- Throws:
XPathException
- when the expression does not return a nodeset.
-
evaluateAsNodeSet
public NodeSetValue evaluateAsNodeSet(Context context) throws XPathException
Evaluate an expression as a NodeSet.- Overrides:
evaluateAsNodeSet
in classNodeSetExpression
- 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.
-
evaluateAsString
public java.lang.String evaluateAsString(Context context) throws XPathException
Evaluate as a string. Returns the string value of the node if it exists- Overrides:
evaluateAsString
in classNodeSetExpression
- 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
-
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 classNodeSetExpression
- 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
-
-