com.saxonica.extra
Class DynamicFunctionCall
java.lang.Object
net.sf.saxon.expr.Expression
net.sf.saxon.expr.FunctionCall
net.sf.saxon.functions.SystemFunction
com.saxonica.extra.DynamicFunctionCall
- All Implemented Interfaces:
- Serializable, SourceLocator, EvaluableItem, SequenceIterable, InstructionInfoProvider
public class DynamicFunctionCall
- extends SystemFunction
This class implements the extension function saxon:call(), which calls a FirstClassFunction
previously set up using saxon:function(). The first argument is the FirstClassFunction object,
the remaining arguments are the parameters to be supplied in the call.
- See Also:
- Serialized Form
Methods inherited from class net.sf.saxon.functions.SystemFunction |
addDocToPathMap, checkArguments, computeCardinality, computeSpecialProperties, copy, getDetails, getErrorCodeForTypeErrors, getItemType, makeSystemFunction, optimize, setDetails |
Methods inherited from class net.sf.saxon.expr.FunctionCall |
addExternalFunctionCallToPathMap, equals, explain, getArguments, getDisplayName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, promote, replaceSubExpression, setArguments, setFunctionName, simplify, toString, typeCheck |
Methods inherited from class net.sf.saxon.expr.Expression |
addToPathMap, adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, display, doPromotion, effectiveBooleanValue, evaluateAsString, evaluateItem, explain, findParentOf, getCardinality, getColumnNumber, getContainer, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, iterateEvents, markTailFunctionCalls, process, setContainer, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation |
DynamicFunctionCall
public DynamicFunctionCall()
preEvaluate
public Expression preEvaluate(ExpressionVisitor visitor)
throws XPathException
- Pre-evaluate a function at compile time. Pre-evaluation of this function
is not allowed because it requires access to the dynamic context
- Overrides:
preEvaluate
in class FunctionCall
- Parameters:
visitor
- an expression visitor an expression visitor
- Returns:
- the result of the early evaluation, or the original expression, or potentially
a simplified expression
- Throws:
XPathException
iterate
public SequenceIterator iterate(XPathContext context)
throws XPathException
- Return an Iterator to iterate over the values of a sequence. The value of every
expression can be regarded as a sequence, so this method is supported for all
expressions. This default implementation handles iteration for expressions that
return singleton values: for non-singleton expressions, the subclass must
provide its own implementation.
- Specified by:
iterate
in interface SequenceIterable
- Overrides:
iterate
in class Expression
- Parameters:
context
- supplies the context for evaluation
- Returns:
- a SequenceIterator that can be used to iterate over the result
of the expression
- Throws:
XPathException
- if any dynamic error occurs evaluating the
expression
Copyright (C) Michael H. Kay. All rights reserved.