[Bug 22747] Visibility and overriding accumulated attribute-sets

https://www.w3.org/Bugs/Public/show_bug.cgi?id=22747

Michael Kay <mike@saxonica.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

--- Comment #3 from Michael Kay <mike@saxonica.com> ---
Detailed proposal

1. Change the definition of "attribute set" in 10.2 from

[Definition: The xsl:attribute-set element defines a named attribute set: that
is, a collection of attribute definitions that can be used repeatedly on
different constructed elements.] 

 to (text modelled closely on xsl:key):

Attribute sets provide named collections of attributes that can be used
repeatedly on different elements.
The xsl:attribute-set declaration is used to declare attribute sets. The name
attribute specifies the name of the attribute set. The value of the name
attribute is an EQName, which is expanded as described in 5.1 Qualified Names. 

[Definition: An attribute set is defined as a set of xsl:attribute-set
declarations in the same package that share the same name.]

2. Add the rule (in 10.2): All the xsl:attribute-set declarations making up the
definition of an attribute set (that is all declarations within the same
package sharing the same name) MUST have the same visibility: that is, they
must either have no visibility attribute, or have identical visibility
attributes.

3. In 3.6.2, where we list the kinds of component, make these links, in
particular link "attribute set" to its definitions.

In the para currently labelled P3.82 that starts "Every component has a
declaration in some stylesheet module", add a qualification to say that in the
case of attribute sets, there is potentially a set of declarations rather than
a single declaration.

In the third bullet point below (P3.87), delete "attribute set" from the list
of things that can be overridden. Instead add a fourth bullet point: "In the
case of xsl:attribute-set declarations, several declarations sharing the same
name combine to form a single component."

In the definition of "declaring package", change "declaration" to "declaration
(or, in the case of attribute sets, multiple declarations)"; and similarly in
the first bullet explaining the properties of a component (P3.92).

4. In 3.6.2.2, first para, mention that for xsl:attribute-set all the
declarations making up an attribute set must have the same value for the
visibility attribute.

5. in 3.6.2.5 (overriding components), add:

It is a consequence of rules defined elsewhere that two declarations within the
same xsl:override element cannot be homonymous. Note that when an attribute set
is overridden, the overriding declaration must consist of a single
xsl:attribute-set element; attribute sets defined in different packages are
never merged, unless this is done explicitly using the use-attribute-sets
attribute.

6. In 19.3.5 Classifying attribute sets, change the list items to

"1. Any xsl:attribute instruction contained in any of the xsl:attribute-set
declarations making up the attribute set"

"2. Any attribute set referenced by a use-attribute-sets attribute in any of
the xsl:attribute-set declarations making up the attribute set"

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Friday, 26 July 2013 08:46:46 UTC