Project

Profile

Help

Bug #2700

closed

Dynamic function calls in Saxon-HE

Added by Michael Kay about 8 years ago. Updated almost 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
XPath conformance
Sprint/Milestone:
Start date:
2016-04-06
Due date:
% Done:

100%

Estimated time:
Legacy ID:
Applies to branch:
9.7, trunk
Fix Committed on Branch:
9.7, trunk
Fixed in Maintenance Release:
Platforms:

Description

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.

Actions #1

Updated by Debbie Lockett almost 8 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.

Actions #2

Updated by Michael Kay almost 8 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.

Actions #3

Updated by Michael Kay almost 8 years ago

  • Status changed from In Progress to Resolved
  • Applies to branch 9.8 added
  • Fix Committed on Branch 9.7, 9.8 added

Patch applied on the 9.7 and 9.8 branches.

Actions #4

Updated by O'Neil Delpratt almost 8 years ago

  • Status changed from Resolved to Closed
  • % Done changed from 0 to 100
  • Fixed in Maintenance Release 9.7.0.5 added

Bug fix applied in the Saxon 9.7.0.5 maintenance release.

Actions #5

Updated by O'Neil Delpratt almost 8 years ago

  • Sprint/Milestone set to 9.7.0.5
Actions #6

Updated by O'Neil Delpratt almost 7 years ago

  • Applies to branch trunk added
  • Applies to branch deleted (9.8)
Actions #7

Updated by O'Neil Delpratt almost 7 years ago

  • Fix Committed on Branch trunk added
  • Fix Committed on Branch deleted (9.8)

Please register to edit this issue

Also available in: Atom PDF