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 24509 - Classifying patterns, bind-source and xsl:merge missing in rule #3
Summary: Classifying patterns, bind-source and xsl:merge missing in rule #3
Status: CLOSED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XSLT 3.0 (show other bugs)
Version: Last Call drafts
Hardware: PC Windows NT
: 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: 2014-02-05 03:55 UTC by Abel Braaksma
Modified: 2014-05-15 14:00 UTC (History)
2 users (show)

See Also:


Attachments

Description Abel Braaksma 2014-02-05 03:55:20 UTC
Under 19.8.9 Classifying Patterns (http://www.w3.org/TR/xslt-30/#classifying-patterns), the first numbered list, item #3 we say:

"The pattern does not contain (at any depth) a variable reference bound to a variable declared in the bind-group attribute of an xsl:for-each-group instruction."

This is not complete. A variable reference to a bind-source of xsl:merge-source and a bind-group of xsl:merge should also be included. Perhaps also bind-key?

In addition, the paragraph "A pattern that is not motionless is classified as free-ranging." seems to be redundant, in the opening paragraph, the same is already said.
Comment 1 Abel Braaksma 2014-02-11 15:24:25 UTC
You can forget the bind-key, it is atomic, so can be referenced at a deeper level as well.
Comment 2 C. M. Sperberg-McQueen 2014-02-11 15:32:38 UTC
We discussed this in Prague and were satisfied that there is a problem; the editor to consider it and come back to the WG if further discussion is needed.
Comment 3 Michael Kay 2014-02-24 12:01:18 UTC
If the proposal in bug #24510 (to drop group binding variables and revert to use of current-group() etc) is adopted, then this problem disappears because use of current-group() and current-grouping-key() within a pattern is already disallowed.

If we don't go down that route, then I think it would make sense to disallow these binding variables within patterns, just as we currently disallow the corresponding functions.

(I think the reason the fucntion calls are disallowed is primarily to do with template match patterns; we don't want a template to match a node or not depending on the circumstances. This argument doesn't apply directly to the group binding variables because they are not in scope for template match patterns anyway; but similar arguments extend to their use in other patterns, namely those used on xsl:number and xsl:for-each-group).
Comment 4 Michael Kay 2014-04-24 14:25:40 UTC
This bug is overtaken by events; the resolution of bug #24510 removes the problem.