<?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>12626</bug_id>
          
          <creation_ts>2011-05-06 15:35:09 +0000</creation_ts>
          <short_desc>Definition of &quot;member types&quot; of a union</short_desc>
          <delta_ts>2011-07-28 19:14:19 +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>Datatypes: XSD Part 2</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>decided</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Kay">mike</reporter>
          <assigned_to name="David Ezell">David_E3</assigned_to>
          <cc>cmsmcq</cc>
    
    <cc>davep</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>48183</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2011-05-06 15:35:09 +0000</bug_when>
    <thetext>The definition in part 2, section 2.4.1.3, states:

[Definition:]   The datatypes that participate in the definition of a ·union· datatype are known as the member types of that ·union· datatype.

This doesn&apos;t say what the member types of a union derived by restriction from another union are. It also begs the question of what the &quot;definition&quot; is: is this referring to schema documents or schema components?

For consistency, it would be best to make this term consistent with {member type definitions} in the component model - ideally by using only one term.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48184</commentid>
    <comment_count>1</comment_count>
    <who name="David Ezell">David_E3</who>
    <bug_when>2011-05-06 15:44:11 +0000</bug_when>
    <thetext>RESOLVED: instruct the editors to prepare a proposal along the lines suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49106</commentid>
    <comment_count>2</comment_count>
    <who name="C. M. Sperberg-McQueen">cmsmcq</who>
    <bug_when>2011-06-03 00:34:08 +0000</bug_when>
    <thetext>Proposal:  after the definition of &apos;member types&apos; add the following note:

  NOTE:  when datatypes are represented using XSD schema components, 
  as described in 4 Datatype copmonents, the member types of a union 
  are those simple type definitions given in the {member type definitions} 
  property. 

MK asks:

  This doesn&apos;t say what the member types of a union derived by restriction from
  another union are. It also begs the question of what the &quot;definition&quot; is: is
  this referring to schema documents or schema components?

I take this passage (and indeed most of the Datatypes spec) to be talking neither about schema documents nor about schema components, but about datatypes more generally.  A union has member types, and a transitive membership, whether it is being used in an XSD schema (which has schema components and usually has schema documents) or in a Relax NG schema (which does not have schema components as defined by XSD) or in some other context.

MK&apos;s point about consistency is a good one, but I am reluctant to eliminate the term &apos;member type&apos; and even more reluctant to define it in terms of the {member type definitions} property (which would better be defined in terms of member types).  I think it is here probably more important to maintain consistency with and within the rest of Datatypes, which is making an effort (not, to be sure, always equally successful) to define a conceptual apparatus for simple types which is usable independently of XSD part 1.  

But perhaps I&apos;m just rationalizing my deep desire not to make a change that would involve touching a dozen passages of the document.  Adding this simple note is quick and easy; making the change MK suggests is tedious, error-prone, and slow.  Quick is good. Easy is good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49122</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Peterson">davep</who>
    <bug_when>2011-06-03 02:11:22 +0000</bug_when>
    <thetext>(In reply to comment #2)

FWIW, I concur.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49139</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2011-06-03 07:45:50 +0000</bug_when>
    <thetext>Perhaps it might be better also to change &quot;The datatypes that participate in the definition of a ·union· datatype...&quot; to &quot;The datatypes that contribute to the value space of a ·union· datatype...&quot;?

The problem with &quot;participate in the definition&quot; is that for a union type defined by restriction, we appear to say that the base type is a member type of the union, because it participates in its definition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49154</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Peterson">davep</who>
    <bug_when>2011-06-03 13:52:54 +0000</bug_when>
    <thetext>(In reply to comment #4)
&gt; Perhaps it might be better also to change &quot;The datatypes that participate in
&gt; the definition of a ·union· datatype...&quot; to &quot;The datatypes that contribute to
&gt; the value space of a ·union· datatype...&quot;?
&gt; 
&gt; The problem with &quot;participate in the definition&quot; is that for a union type
&gt; defined by restriction, we appear to say that the base type is a member type of
&gt; the union, because it participates in its definition.

I like MK&apos;s proposal, because I like one side effect that should not be adopted without reailzing it:  The &quot;datatypes that participate in the definition&quot; presumably are those that go into the (possibly ancestor) union definition may have all their values removed from the union data space, but presumably these datatypes remain member types of the restricted union under this definition.  OTOH, if all of such a datatype&apos;s values have been removed by subsequent restriction, they surely &quot;no longer contribute to the value space&quot; of the restriction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49160</commentid>
    <comment_count>6</comment_count>
    <who name="David Ezell">David_E3</who>
    <bug_when>2011-06-03 15:39:13 +0000</bug_when>
    <thetext>RESOLVED: adopt proposal in comment #2 but with &quot;When&quot; instead of &quot;when&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51646</commentid>
    <comment_count>7</comment_count>
    <who name="David Ezell">David_E3</who>
    <bug_when>2011-07-28 15:54:41 +0000</bug_when>
    <thetext>This bug should be resolved in the CR at:
http://www.w3.org/TR/xmlschema11-2/

The WG appreciates the effort of the commenter in reporting this bug.  Please indicate your satisfaction with the resolution by marking it as CLOSED.

Thank you.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>