Package com.icl.saxon.functions
Class Current
- java.lang.Object
-
- com.icl.saxon.expr.Expression
-
- com.icl.saxon.expr.Function
-
- com.icl.saxon.functions.Current
-
public class Current extends Function
-
-
Field Summary
-
Fields inherited from class com.icl.saxon.expr.Expression
staticContext
-
-
Constructor Summary
Constructors Constructor Description Current()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Value
evaluate(Context c)
Evaluate in a general contextNodeSetValue
evaluateAsNodeSet(Context c)
Evaluate the function in a node-set contextint
getDataType()
Determine the data type of the expressionint
getDependencies()
Determine the dependenciesjava.lang.String
getName()
Function name (for diagnostics)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.Expression
reduce(int dep, Context c)
Reduce the dependenciesExpression
simplify()
Simplify and validate.-
Methods inherited from class com.icl.saxon.expr.Function
addArgument, checkArgumentCount, display, getNumberOfArguments
-
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, enumerate, evaluateAsBoolean, evaluateAsNumber, evaluateAsString, getStaticContext, indent, make, outputStringValue, setStaticContext, usesCurrent
-
-
-
-
Method Detail
-
getName
public java.lang.String getName()
Function name (for diagnostics)
-
getDataType
public int getDataType()
Determine the data type of the expression- Specified by:
getDataType
in classExpression
- Returns:
- Value.NODESET
-
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
-
simplify
public Expression simplify() throws XPathException
Simplify and validate.- Overrides:
simplify
in classExpression
- Returns:
- the simplified expression
- Throws:
XPathException
-
evaluateAsNodeSet
public NodeSetValue evaluateAsNodeSet(Context c) throws XPathException
Evaluate the function in a node-set context- Overrides:
evaluateAsNodeSet
in classExpression
- Parameters:
c
- The context in which the expression is to be evaluated- Returns:
- the value of the expression, evaluated in the current context. Note that the result is not necessarily in document order; to get it into document order, call sort() on the result.
- Throws:
XPathException
- when the expression does not return a nodeset.
-
evaluate
public Value evaluate(Context c) throws XPathException
Evaluate in a general context- Specified by:
evaluate
in classExpression
- Parameters:
c
- The context in which the expression is to be evaluated- Returns:
- the value of the expression, evaluated in the current context
- Throws:
XPathException
-
getDependencies
public int getDependencies()
Determine the dependencies- Specified by:
getDependencies
in classExpression
-
reduce
public Expression reduce(int dep, Context c) throws XPathException
Reduce the dependencies- Specified by:
reduce
in classExpression
- Parameters:
dep
- The dependencies to be removed, e.g. Context.VARIABLESc
- The context to be used for the partial evaluation- Returns:
- a new expression (or Value) that does not have any of the specified dependencies
- Throws:
XPathException
-
-