XPathFunctionResolver
Stay organized with collections
Save and categorize content based on your preferences.
XPathFunctionResolver
provides access to the set of user defined XPathFunction
s.
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 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.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-07-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-07-10 UTC."],[[["\u003cp\u003e\u003ccode\u003eXPathFunctionResolver\u003c/code\u003e allows access to and resolution of user-defined XPath functions, identified by their name and the number of arguments they accept (arity).\u003c/p\u003e\n"],["\u003cp\u003eIt's important to note that this resolver cannot override or be used for built-in XPath functions; it solely handles functions within different namespaces.\u003c/p\u003e\n"],["\u003cp\u003eTo add functionalities equivalent to built-in functions, direct extension of the underlying XPath implementation would be necessary.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eresolveFunction\u003c/code\u003e method is the primary tool to locate a specific user-defined function using its name and arity.\u003c/p\u003e\n"]]],[],null,["public interface **XPathFunctionResolver** \n\u003cbr /\u003e\n\n`XPathFunctionResolver` provides access to the set of user defined `XPathFunction`s.\n\nXPath functions are resolved by name and arity.\nThe resolver is not needed for XPath built-in functions and the resolver\n***cannot*** be used to override those functions.\n\nIn particular, the resolver is only called for functions in an another\nnamespace (functions with an explicit prefix). This means that you cannot\nuse the `XPathFunctionResolver` to implement specifications\nlike [XML-Signature Syntax\nand Processing](http://www.w3.org/TR/xmldsig-core/) which extend the function library of XPath 1.0 in the\nsame namespace. This is a consequence of the design of the resolver.\n\nIf you wish to implement additional built-in functions, you will have to\nextend the underlying implementation directly.\n\n\u003cbr /\u003e\n\nSee Also\n\n- [XML Path Language (XPath) Version 1.0, Core Function Library](http://www.w3.org/TR/xpath#corelib) \n\nPublic Method Summary\n\n|------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract [XPathFunction](../../../../reference/javax/xml/xpath/XPathFunction.html) | [resolveFunction](../../../../reference/javax/xml/xpath/XPathFunctionResolver.html#resolveFunction(javax.xml.namespace.QName,%20int))([QName](../../../../reference/javax/xml/namespace/QName.html) functionName, int arity) Find a function in the set of available functions. |\n\nPublic Methods \n\npublic abstract [XPathFunction](../../../../reference/javax/xml/xpath/XPathFunction.html)\n**resolveFunction**\n([QName](../../../../reference/javax/xml/namespace/QName.html) functionName, int arity) \n\u003cbr /\u003e\n\nFind a function in the set of available functions.\n\nIf `functionName` or `arity` is `null`, then a `NullPointerException` is thrown.\n\n\u003cbr /\u003e\n\nParameters\n\n| functionName | The function name. |\n| arity | The number of arguments that the returned function must accept. |\n|--------------|-----------------------------------------------------------------|\n\nReturns\n\n- The function or `null` if no function named `functionName` with `arity` arguments exists. \n\nThrows\n\n| [NullPointerException](../../../../reference/java/lang/NullPointerException.html) | If `functionName` or `arity` is `null`. |\n|-----------------------------------------------------------------------------------|-----------------------------------------|"]]