This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
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.
You can forget the bind-key, it is atomic, so can be referenced at a deeper level as well.
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.
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).
This bug is overtaken by events; the resolution of bug #24510 removes the problem.