A custom function is an XPath function that is not defined in the XPath and XQuery Functions specification and that is also not defined in the XBRL Functions registry. Custom functions may be used within XPath expressions.
The function signature is as in the screenshot below.
The child elements, if any, of a custom function signature specify the data types of the custom function's input parameters. The ordering of the custom function's input parameters matches the document order of the child elements of the custom function signature.
Inputs are displayed in the Details entry helper in additional sections.
The function implementation is as in the screenshot below.
A custom function implementation (CFI) contains a sequence of child elements that serve to define names for the function inputs, to express the XPath expressions that comprise the custom function implementation, and to define the custom function output.
A Function-Implementation relationship is a relationship between a custom function signature and a custom function implementation. Since a function implementation has to be the target of a function-implementation relationship, it is always displayed under the corresponding function signature. If the relationship is missing (or the signature is defined under a different linkrole), the implementation is shown directly under the Functions section.
Inputs and steps are displayed in the Details entry helper in additional sections.