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 Valueevaluate(Context context)Evaluate in a general contextNodeSetValueevaluateAsNodeSet(Context context)Evaluate in a context where a node-set is requiredintgetDataType()Determine the data type of the expressionintgetDependencies()Determine which aspects of the context the expression depends on.java.lang.StringgetName()Get the name of the function.booleanisContextDocumentNodeSet()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.Expressionreduce(int dependencies, Context context)Remove specified dependencies.Expressionsimplify()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:FunctionGet 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:
getDataTypein 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:
isContextDocumentNodeSetin classExpression
-
simplify
public Expression simplify() throws XPathException
Simplify and validate- Overrides:
simplifyin 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:
evaluateAsNodeSetin 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:
evaluatein 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:
getDependenciesin classExpression
-
reduce
public Expression reduce(int dependencies, Context context) throws XPathException
Remove specified dependencies.- Specified by:
reducein 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
-
-