Package com.icl.saxon.functions
Class Id
- java.lang.Object
-
- com.icl.saxon.expr.Expression
-
- com.icl.saxon.expr.Function
-
- com.icl.saxon.functions.Id
-
public class Id extends Function
-
-
Field Summary
-
Fields inherited from class com.icl.saxon.expr.Expression
staticContext
-
-
Constructor Summary
Constructors Constructor Description Id()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Value
evaluate(Context context)
Evaluate in a general contextNodeSetValue
evaluateAsNodeSet(Context context)
Evaluate in a context where a node-set is requiredint
getDataType()
Determine the data type of the expressionint
getDependencies()
Determine which aspects of the context the expression depends on.java.lang.String
getName()
Get the name of the function.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 dependencies, Context context)
Remove specified dependencies.Expression
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()
Description copied from class:Function
Get the name of the function. This method must be implemented in all subclasses.
-
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 context) throws XPathException
Evaluate in a context where a node-set is required- Overrides:
evaluateAsNodeSet
in classExpression
- Parameters:
context
- 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 context) throws XPathException
Evaluate in a general context- Specified by:
evaluate
in classExpression
- 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
-
getDependencies
public int getDependencies()
Determine which aspects of the context the expression depends on. The result is a bitwise-or'ed value composed from constants such as Context.VARIABLES and Context.CURRENT_NODE- Specified by:
getDependencies
in classExpression
-
reduce
public Expression reduce(int dependencies, Context context) throws XPathException
Remove specified dependencies.- Specified by:
reduce
in classExpression
- Parameters:
dependencies
- The dependencies to be removed, e.g. Context.VARIABLEScontext
- 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
-
-