net.sf.saxon.functions
Class StandardFunction
java.lang.Object
net.sf.saxon.functions.StandardFunction
public abstract class StandardFunction
extends java.lang.Object
This class contains static data tables defining the properties of standard functions. "Standard functions"
here means the XPath 2.0 functions, the XSLT 2.0 functions, and a few selected extension functions
which need special recognition.
static void | arg(StandardFunction.Entry e, int a, ItemType type, int cardinality, Value resultIfEmpty) - Add information to a function entry about the argument types of the function
|
static StandardFunction.Entry | getFunction(String name, int arity) - Get the table entry for the function with a given name
|
static StandardFunction.Entry | makeEntry(String name, Class implementationClass, int opcode, int minArguments, int maxArguments, ItemType itemType, int cardinality) - Make a table entry describing the signature of a function, with a reference to the implementation class.
|
SAME_AS_FIRST_ARGUMENT
protected static ItemType SAME_AS_FIRST_ARGUMENT
arg
public static void arg(StandardFunction.Entry e,
int a,
ItemType type,
int cardinality,
Value resultIfEmpty)
Add information to a function entry about the argument types of the function
e
- the entry for the functiona
- the position of the argument, counting from zerotype
- the item type of the argumentcardinality
- the cardinality of the argumentresultIfEmpty
- the value returned by the function if an empty sequence appears as the value,
when this result is unaffected by any other arguments
getFunction
public static StandardFunction.Entry getFunction(String name,
int arity)
Get the table entry for the function with a given name
name
- the name of the function. This may be an unprefixed local-name for functions in the
system namespace, or may use the conventional prefix "saxon:" in the case of Saxon extension functions
that are specially recognized
- if the function name is known, an Entry containing information about the function. Otherwise,
null
makeEntry
public static StandardFunction.Entry makeEntry(String name,
Class implementationClass,
int opcode,
int minArguments,
int maxArguments,
ItemType itemType,
int cardinality)
Make a table entry describing the signature of a function, with a reference to the implementation class.
name
- the function nameimplementationClass
- the class used to implement the functionopcode
- identifies the function when a single class implements several functionsminArguments
- the minimum number of arguments requiredmaxArguments
- the maximum number of arguments alloweditemType
- the item type of the result of the functioncardinality
- the cardinality of the result of the function
- the entry describing the function. The entry is incomplete, it does not yet contain information
about the function arguments.