| java.lang.Object net.sf.saxon.functions.VendorFunctionLibrary
VendorFunctionLibrary | public class VendorFunctionLibrary implements FunctionLibrary(Code) | | The VendorFunctionLibrary represents specially-recognized functions in the Saxon namespace. It doesn't
handle Saxon extension functions that are implemented as normal extension functions, which are bound using
the
JavaExtensionLibrary .
|
Method Summary | |
public Expression | bind(int nameCode, String uri, String local, Expression[] staticArgs) Bind an extension function, given the URI and local parts of the function name,
and the list of expressions supplied as arguments. | public 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.
a copy of this function library. | protected void | init() | public boolean | isAvailable(int fingerprint, String uri, String local, int arity) Test whether a Saxon function with a given name and arity is available. | public Expression | makeSaxonFunction(String localName, StaticContext env, Expression[] arguments) | public static String | pluralArguments(int num) | protected StandardFunction.Entry | register(String name, Class implementationClass, int opcode, int minArguments, int maxArguments, ItemType itemType, int cardinality) Register an extension function in the table of function details.
Parameters: name - the function name Parameters: implementationClass - the class used to implement the function Parameters: opcode - identifies the function when a single class implements several functions Parameters: minArguments - the minimum number of arguments required Parameters: maxArguments - the maximum number of arguments allowed Parameters: itemType - the item type of the result of the function Parameters: cardinality - the cardinality of the result of the function the entry describing the function. |
VendorFunctionLibrary | public VendorFunctionLibrary()(Code) | | |
bind | public Expression bind(int nameCode, String uri, String local, Expression[] staticArgs) throws XPathException(Code) | | Bind an extension function, given the URI and local parts of the function name,
and the list of expressions supplied as arguments. This method is called at compile
time.
Parameters: uri - The URI of the function name Parameters: local - The local part of the function name Parameters: staticArgs - The expressions supplied statically in the function call. The intention isthat the static type of the arguments (obtainable via getItemType() and getCardinality() maybe used as part of the binding algorithm. An object representing the extension function to be called, if one is found;null if no extension function was found matching the required name and arity. throws: net.sf.saxon.trans.XPathException - if a function is found with the required name and arity, butthe implementation of the function cannot be loaded or used; or if an error occurswhile searching for the function; or if this function library "owns" the namespace containingthe function call, but no function was found. |
copy | public FunctionLibrary copy()(Code) | | 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.
a copy of this function library. This must be an instance of the original class. |
init | protected void init()(Code) | | |
isAvailable | public boolean isAvailable(int fingerprint, String uri, String local, int arity)(Code) | | Test whether a Saxon function with a given name and arity is available. This supports
the function-available() function in XSLT. This method may be called either at compile time
or at run time.
Parameters: uri - The URI of the function name Parameters: local - The local part of the function name Parameters: arity - The number of arguments. This is set to -1 in the case of the single-argumentfunction-available() function; in this case the method should return true if there is somematching extension function, regardless of its arity. |
pluralArguments | public static String pluralArguments(int num)(Code) | | Utility routine used in constructing error messages
|
register | protected StandardFunction.Entry register(String name, Class implementationClass, int opcode, int minArguments, int maxArguments, ItemType itemType, int cardinality)(Code) | | Register an extension function in the table of function details.
Parameters: name - the function name Parameters: implementationClass - the class used to implement the function Parameters: opcode - identifies the function when a single class implements several functions Parameters: minArguments - the minimum number of arguments required Parameters: maxArguments - the maximum number of arguments allowed Parameters: itemType - the item type of the result of the function Parameters: cardinality - the cardinality of the result of the function the entry describing the function. The entry is incomplete, it does not yet contain informationabout the function arguments. |
|
|