Dynamic function calls in Saxon-HE
In Saxon-HE, dynamic function calls are rejected by the XPath parser on the basis that the Higher Order Function feature is not supported.
However, in both XQuery and XSLT, the conformance rules for a processor that doesn't support the HOF feature say that dynamic function calls should be allowed; the operand of the dynamic function call will necessarily be a map or an array.
#1 Updated by Debbie Lockett over 4 years ago
- Status changed from New to In Progress
Started moving required methods into HE implementation, but the work is incomplete (ran into further problems, e.g. inline and named functions).
Work in progress changes to XPathParser, XPathParserPE, and XQueryParserPE committed to 9.8 dev branch.
#2 Updated by Michael Kay over 4 years ago
- Assignee changed from Debbie Lockett to Michael Kay
Now apparently working on the 9.8 branch (though not actually tested on an HE build). In the revised code a dynamic function call unconditionally generates a call on fn:apply() and relies on the subsequent type-checking and optimization phases to replace this by a call on map:get or array:get in cases where the static type is known to be a map or array.
Please register to edit this issue