Saxon.Api
Class ExtensionFunctionCall
-
public abstract class ExtensionFunctionCall
An instance of this class will be created by the compiler for each function call to
this extension function
that is found in the source code. The class is always instantiated by calling the
method MakeFunctionCall()
of the corresponding ExtensionFunctionDefinition
.
The implementation may therefore retain information about the static context of the
call. Once compiled, however, the instance object must be immutable.
Method Summary |
|
---|---|
XdmValue | Call (XdmValue[] arguments, DynamicContext context) Method called at run time to evaluate the function. |
void | CopyLocalData (ExtensionFunctionCall destination) This method is defined in the interface for backwards compatibility. It is never called, and will be dropped in a future release. |
void | SupplyStaticContext (StaticContext context) Method called by the compiler (at compile time) to provide information about the static context of the function call. The implementation may retain this information for use at run-time, if the result of the function depends on information in the static context. |
Method Detail
Call
DynamicContext context)
CopyLocalData
This method is defined in the interface for backwards compatibility. It is never called, and will be dropped in a future release.
Parameters:
destination
- The new extension function object. This will always be an instance of the same
class as the existing object.SupplyStaticContext
Method called by the compiler (at compile time) to provide information about the static context of the function call. The implementation may retain this information for use at run-time, if the result of the function depends on information in the static context.
For efficiency, the implementation should only retain copies of the information that it actually needs. It is not a good idea to hold a reference to the static context itself, since that can result in a great deal of compile-time information being locked into memory during run-time execution.
Parameters:
context
- Information about the static context in which the function is called
Method called at run time to evaluate the function.
Parameters:
arguments
- The values of the arguments to the function, supplied as iterators over XPath sequence values.context
- The dynamic context for evaluation of the function. This provides access to the context item, position, and size, and if required to internal data maintained by the Saxon engine.Returns:
last()
is used) Saxon may clone the returned iterator by calling itsGetAnother()
method, allowing the function results to be read more than once.