public class ExecutableFunctionLibrary extends Object implements FunctionLibrary
| Constructor and Description |
|---|
ExecutableFunctionLibrary(Configuration config)
Create the ExecutableFunctionLibrary
|
| Modifier and Type | Method and Description |
|---|---|
void |
addFunction(UserFunction fn)
Register a function with the function library
|
Expression |
bind(SymbolicName.F functionName,
Expression[] staticArgs,
StaticContext env,
List<String> reasons)
Bind a function, given the URI and local parts of the function name,
and the list of expressions supplied as arguments.
|
FunctionLibrary |
copy()
This method creates a copy of a FunctionLibrary: if the original FunctionLibrary allows
new functions to be added, then additions to this copy will not affect the original, or
vice versa.
|
boolean |
isAvailable(SymbolicName.F functionName)
Test whether a function with a given name and arity is available
|
Iterator<UserFunction> |
iterateFunctions()
Iterate over all the functions defined in this function library.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsetConfigurationpublic ExecutableFunctionLibrary(Configuration config)
config - the Saxon configurationpublic void addFunction(UserFunction fn)
fn - the function to be registeredpublic Expression bind(SymbolicName.F functionName, Expression[] staticArgs, StaticContext env, List<String> reasons)
bind in interface FunctionLibraryfunctionName - The name of the function to be calledstaticArgs - The expressions supplied statically in the function call. The intention is
that the static type of the arguments (obtainable via getItemType() and getCardinality() may
be used as part of the binding algorithm.env - the static evaluation contextreasons - If no matching function is found by the function library, it may add
a diagnostic explanation to this list explaining why none of the available
functions could be used.public boolean isAvailable(SymbolicName.F functionName)
This supports the function-available() function in XSLT.
isAvailable in interface FunctionLibraryfunctionName - the qualified name of the function being calledpublic FunctionLibrary copy()
copy in interface FunctionLibrarypublic Iterator<UserFunction> iterateFunctions()
UserFunctionUserFunction objects representing
the user-defined functions in a stylesheet or query