Description
Some things cannot be reasonably expressed in DFDL's DPath expression language.
A good example of this is the abililty to convert between elevation measured in height above geoid (aka elevation above mean sea level or MSL), and height-above-elipsoid or HAE. This requires a table of numbers and interpolation. Nevertheless a DFDL schema needs to convert units of measure and it is very convenient to have the output of a DFDL parse to be normalized into a desired unit of measure.
The ability to define a function in a separate jar library, and call it from a DPath expression, having registered it somehow so Daffodil can find it, is what I'm calling a user-defined function.