XPathFunctionResolver

  • XPathFunctionResolver allows access to and resolution of user-defined XPath functions, identified by their name and the number of arguments they accept (arity).

  • It's important to note that this resolver cannot override or be used for built-in XPath functions; it solely handles functions within different namespaces.

  • To add functionalities equivalent to built-in functions, direct extension of the underlying XPath implementation would be necessary.

  • The resolveFunction method is the primary tool to locate a specific user-defined function using its name and arity.

public interface XPathFunctionResolver

XPathFunctionResolver provides access to the set of user defined XPathFunctions.

XPath functions are resolved by name and arity. The resolver is not needed for XPath built-in functions and the resolver cannot be used to override those functions.

In particular, the resolver is only called for functions in an another namespace (functions with an explicit prefix). This means that you cannot use the XPathFunctionResolver to implement specifications like XML-Signature Syntax and Processing which extend the function library of XPath 1.0 in the same namespace. This is a consequence of the design of the resolver.

If you wish to implement additional built-in functions, you will have to extend the underlying implementation directly.

Public Method Summary

abstract XPathFunction
resolveFunction(QName functionName, int arity)

Find a function in the set of available functions.

Public Methods

public abstract XPathFunction resolveFunction (QName functionName, int arity)

Find a function in the set of available functions.

If functionName or arity is null, then a NullPointerException is thrown.

Parameters
functionName The function name.
arity The number of arguments that the returned function must accept.
Returns
  • The function or null if no function named functionName with arity arguments exists.
Throws
NullPointerException If functionName or arity is null.