Here's my response from the wiki: The cast arguments aren't necessary. I just put them in there so the reader would know what the types were. The code will be expected to infer the types of the arguments and then use those to correctly identify the evaluate function via Reflection. The current implementation infers the arg types by calling getClass on each argument.
On 9/6/19 11:30 AM, Beckerle, Mike wrote: (I added comments to the wiki page, but doing the discussion on this list is probably better from Apache-process considerations: "If it didn't happen on the mailing list, it didn't happen.") The code seems to infer the argument types, but the examples all have explicit DPath cast functions being called. Are those xs:float(...) type argument conversion calls actually required, or will the DPath implementation know the arg type of the function so that it can insure the argument has that type as it does for built-in functions? I ask because a goal for any UDF facility in any system is that once defined, a UDF call is as indistinguishable from a built-in function as possible. ________________________________ From: Kilo, Olabusayo <ok...@tresys.com><mailto:ok...@tresys.com> Sent: Friday, September 6, 2019 10:30 AM To: dev@daffodil.apache.org<mailto:dev@daffodil.apache.org> <dev@daffodil.apache.org><mailto:dev@daffodil.apache.org> Subject: [DISCUSS] User Defined Functions Capability I'm requesting a discussion on the addition of the User Defined Functions capability to daffodil. The proposal referenced below provides a possible solution for Daffodil to be able to process and use User Defined Functions referenced in the DFDL Schema. The original request can be found at https://issues.apache.org/jira/browse/DAFFODIL-2186 and the proposal can be found https://cwiki.apache.org/confluence/display/DAFFODIL/Proposal%3A+User+Defined+Functions. -- Best Regards Lola K.