<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>16874</bug_id>
          
          <creation_ts>2012-04-27 15:02:50 +0000</creation_ts>
          <short_desc>Change in meaning of final=&quot;#all&quot; on elements between 1.0 and 1.1</short_desc>
          <delta_ts>2012-11-23 17:29:26 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>XML Schema</product>
          <component>Structures: XSD Part 1</component>
          <version>1.1 only</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows NT</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>resolved</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Priscilla Walmsley">pwalmsley</reporter>
          <assigned_to name="David Ezell">David_E3</assigned_to>
          <cc>cmsmcq</cc>
          
          <qa_contact name="XML Schema comments list">www-xml-schema-comments</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>67143</commentid>
    <comment_count>0</comment_count>
    <who name="Priscilla Walmsley">pwalmsley</who>
    <bug_when>2012-04-27 15:02:50 +0000</bug_when>
    <thetext>In version 1.0, there was the following paragraph (in section 3.3.1): 

&quot;An empty {substitution group exclusions} allows a declaration to be nominated as the {substitution group affiliation} of other element declarations having the same {type definition} or types derived therefrom. The explicit values of {substitution group exclusions} rule out element declarations having types which are extensions or restrictions respectively of {type definition}. If both values are specified, then the declaration may not be nominated as the {substitution group affiliation} of any other declaration.&quot;

The last sentence of this paragraph says that if final=&quot;#all&quot;, or final=&quot;restriction extension&quot;, then the declaration may not be the head of a substitution group, period.

In version 1.1, the equivalent paragraph is:

&quot;An empty {substitution group exclusions} allows a declaration to be named in the {substitution group affiliations} of other element declarations having the same declared {type definition} or some type ·derived· therefrom. The explicit values of {substitution group exclusions}, extension or restriction, rule out element declarations having types whose derivation from {type definition} involves any extension steps, or restriction steps, respectively. &quot;

The last sentence has been removed, so it seems to mean that if final=&quot;#all&quot; or final=&quot;restriction extension&quot;, the members cannot have types that are derived by restriction or extension from the head, but it is perfectly OK to have members that have the exact same type as the head.

I can see why such a change would be made; it doesn&apos;t make sense to have &quot;restriction extension&quot; mean anything more than just the union of what &quot;restriction&quot; and &quot;extension&quot; would mean individually.  But this change is backward-incompatible and doesn&apos;t appear to be listed in Appendix G, so I wanted to confirm that it was intentional.  If so, it should be added to Appendix G.

Also, I am surprised to not find a more formal definition of what the &quot;final&quot; attribute means for elements. Section 3.3.6.1 says &quot;subject to the blocking keywords in M.{substitution group exclusions}&quot; but I don&apos;t see where it describes exactly what those keywords mean, except in the paragraph quoted above, which is somewhat informal.

By contrast, for example, {disallowed substitutions} has a paragraph informally describing it, but also has a clause in section 3.3.6.3 formally saying what it means if it contains the keyword &quot;substitution&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67322</commentid>
    <comment_count>1</comment_count>
    <who name="David Ezell">David_E3</who>
    <bug_when>2012-05-04 16:12:00 +0000</bug_when>
    <thetext>Resolved:  This change was made as a result of bug 3888, and there should be an item added to substantive changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76822</commentid>
    <comment_count>2</comment_count>
    <who name="C. M. Sperberg-McQueen">cmsmcq</who>
    <bug_when>2012-10-20 21:09:26 +0000</bug_when>
    <thetext>A diffed version of the spec showing a draft erratum for this issue is now on the server at

  https://www.w3.org/XML/Group/2004/06/xmlschema-1/structures.errata-2012.html
  (member-accessible link)

The WG did not want to review this text, so I&apos;m marking this bug as &apos;needs publication&apos;.

Priscilla, if you could, please review the resolution of the issue and let us know whether you have any objections to it.  If we don&apos;t hear from you in the next two weeks or so, we&apos;ll assume you are happy with the changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76844</commentid>
    <comment_count>3</comment_count>
    <who name="Priscilla Walmsley">pwalmsley</who>
    <bug_when>2012-10-21 15:16:54 +0000</bug_when>
    <thetext>This looks good to me.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78717</commentid>
    <comment_count>4</comment_count>
    <who name="C. M. Sperberg-McQueen">cmsmcq</who>
    <bug_when>2012-11-23 17:29:26 +0000</bug_when>
    <thetext>Since PW has already indicated her agreement to the change, I&apos;m going ahead and closing this issue on her behalf.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>