Class SimpleFunctionContext
- All Implemented Interfaces:
FunctionContext
- Direct Known Subclasses:
XPathFunctionContext
FunctionContext.
This is a simple table-based key-lookup implementation
for FunctionContext which can be programmatically
extended by registering additional functions.
- Author:
- bob mcwhirter
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetFunction(String namespaceURI, String prefix, String localName) An implementation should return aFunctionimplementation object based on the namespace URI and local name of the function-call expression.voidregisterFunction(String namespaceURI, String localName, Function function) Register a new function.
-
Constructor Details
-
SimpleFunctionContext
public SimpleFunctionContext()Construct an empty function context.
-
-
Method Details
-
registerFunction
Register a new function.By registering a new function, any XPath expression that utilizes this
FunctionContextmay refer to and use the new function.Functions may exist either in a namespace or not. Namespace prefix-to-URI resolution is the responsibility of a
NamespaceContext. Within thisFunctionContextfunctions are only referenced using the URI, not the prefix.The namespace URI of a function may be
nullto indicate that it exists without a namespace.- Parameters:
namespaceURI- the namespace URI of the function to be registered with this contextlocalName- the non-prefixed local portion of the function to be registered with this contextfunction- aFunctionimplementation object to be used when evaluating the function
-
getFunction
public Function getFunction(String namespaceURI, String prefix, String localName) throws UnresolvableException Description copied from interface:FunctionContextAn implementation should return aFunctionimplementation object based on the namespace URI and local name of the function-call expression.It must not use the prefix parameter to select an implementation, because a prefix could be bound to any namespace; the prefix parameter could be used in debugging output or other generated information. The prefix may otherwise be completely ignored.
- Specified by:
getFunctionin interfaceFunctionContext- Parameters:
namespaceURI- the namespace URI to which the prefix parameter is bound in the XPath expression. If the function call expression had no prefix, the namespace URI isnull.prefix- the prefix that was used in the function call expressionlocalName- the local name of the function-call expression. If there is no prefix, then this is the whole name of the function.- Returns:
- a Function implementation object.
- Throws:
UnresolvableException- when the function cannot be resolved
-