This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 29060 - [xslt3.0] Functions: determinism and memoization
Summary: [xslt3.0] Functions: determinism and memoization
Status: CLOSED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XSLT 3.0 (show other bugs)
Version: Last Call drafts
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: Michael Kay
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-17 14:31 UTC by Michael Kay
Modified: 2015-10-29 12:42 UTC (History)
1 user (show)

See Also:


Attachments

Description Michael Kay 2015-08-17 14:31:04 UTC
There have been extensive discussions on the XSL WG mailing list and in telcons over the last 4-6 weeks concerning the syntax and semantics of the xsl:function attributes @identity-sensitive and @cache. This bug entry provides a place to capture the results of this discussion.

I tried to capture the consensus in this message:

https://lists.w3.org/Archives/Member/w3c-xsl-wg/2015Aug/0012.html

and was given an action to record this in the spec, while noting the need for a bug fix in F+O (bug #29058) in the definition of determinism.
Comment 1 Abel Braaksma 2015-08-27 08:18:01 UTC
For the record, the mail thread starting with https://lists.w3.org/Archives/Member/w3c-xsl-wg/2015Aug/0047.html contains some observations on other places in the spec that need updating after this change was applied. No new bug has been created for it.
Comment 2 Michael Kay 2015-09-14 09:05:46 UTC
The editorial corrections supplied in the cited email have been applied.

On the question of compatibility rules for function overriding, the WG decided that an overriding function must have the same value for "new-each-time" as the overridden function, so that optimizations (e.g. loop-lifting of calls to the function) are not affected by overriding. However, there is no requirement for the value of @cache to be the same.

The changes have been applied to the spec.