<?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>5896</bug_id>
          
          <creation_ts>2008-07-24 09:44:32 +0000</creation_ts>
          <short_desc>Description of particles and terms in 2.2.3.2 confusing</short_desc>
          <delta_ts>2010-11-10 17:32:00 +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 XP</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>LATER</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>editorial</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pete Cordell">petexmldev</reporter>
          <assigned_to name="C. M. Sperberg-McQueen">cmsmcq</assigned_to>
          <cc>David_E3</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>21315</commentid>
    <comment_count>0</comment_count>
    <who name="Pete Cordell">petexmldev</who>
    <bug_when>2008-07-24 09:44:32 +0000</bug_when>
    <thetext>In 2.2.3.2 I find the description of particles, terms and their relationship 
confusing.  (I also wanted to remove the word &quot;term&quot; that appears in &quot;term 
in the grammar&quot; because the section talks about &quot;term&quot; later, and it seems 
best to avoid having the same word mean different things in a similar 
context.)

I originally posted a comment to the comments mailing list, to which Michael Sperberg-McQueen added some clarification (http://lists.w3.org/Archives/Public/www-xml-schema-comments/2008JulSep/0071.html).

Based on those comments I&apos;d therefore like to suggest the following re-wording:

A particle is a concept in the grammar used to describe element content.  A particle consists of either an element declaration, a wildcard or a model group.  A particle also consists of occurrence constraints. Particles contribute to validation as part of complex type definition validation, when they allow anywhere from zero to many element information items or sequences thereof, depending on their contents and occurrence constraints.

A [Definition:] Term is either an element declaration, a wildcard or a model group (i.e. any of the three kinds of component that can appear in a particle).  A particle has (among others) a property called {term} which is a Term.  As such the {term} property is either an element declaration, a wildcard or a model group, and the content of the {term} property is often referred to as the &quot;Term&quot; of the particle.  All Terms are themselves Annotated Components. [Definition:]  A basic term is an Element Declaration or a Wildcard. [Definition:]  A basic particle is a Particle whose Term is a basic term.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26064</commentid>
    <comment_count>1</comment_count>
    <who name="David Ezell">David_E3</who>
    <bug_when>2009-07-24 16:06:20 +0000</bug_when>
    <thetext>The WG, with regret, has decided that it&apos;s too hard to reengineer these terms at this point.  </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26071</commentid>
    <comment_count>2</comment_count>
    <who name="Pete Cordell">petexmldev</who>
    <bug_when>2009-07-24 17:00:52 +0000</bug_when>
    <thetext>Here&apos;s another attempt:

------------------

A [Definition:]  Term is either an element declaration, a wildcard or a model group. All ·Terms· are themselves ·Annotated Components·. [Definition:]  A basic term is an Element Declaration or a Wildcard. 

A particle is a concept in the grammar for element content, consisting of a Term, together with occurrence constraints. Particles contribute to ·validation· as part of complex type definition ·validation·, when they allow anywhere from zero to many element information items or sequences thereof, depending on their contents and occurrence constraints.

[Definition:]  A basic particle is a Particle whose {term} is a ·basic term·.

-----------------

Also, should particles have a definitions?  i.e. should the second sentence start as:

A [Definition:] particle is a concept in the grammar </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26079</commentid>
    <comment_count>3</comment_count>
    <who name="Pete Cordell">petexmldev</who>
    <bug_when>2009-07-25 08:42:56 +0000</bug_when>
    <thetext>Thinking about this some more, I&apos;m not sure whether a particle is a synonym in the grammar for &apos;element content&apos; or whether particles are the entities that are used to describe element content.  I&apos;ve adopted thelatter in the revised attempt below:

------------------

A [Definition:]  Term is either an element declaration, a wildcard or a model
group. All ·Terms· are themselves ·Annotated Components·. [Definition:]  A
basic term is an Element Declaration or a Wildcard. 

A [Definition:] particle consists of a Term, together with occurrence constraints.  Particles describe element content.  Particles contribute to
·validation· as part of complex type definition ·validation·, when they allow
anywhere from zero to many element information items or sequences thereof,
depending on their contents and occurrence constraints.

[Definition:]  A basic particle is a Particle whose {term} is a ·basic term·.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26080</commentid>
    <comment_count>4</comment_count>
    <who name="Dave Peterson">davep</who>
    <bug_when>2009-07-25 14:52:00 +0000</bug_when>
    <thetext>(In reply to comment #3)
&gt; Thinking about this some more, I&apos;m not sure whether a particle is a synonym in
&gt; the grammar for &apos;element content&apos; or whether particles are the entities that
&gt; are used to describe element content.

Particles are components of a particular kind.  So the latter is the better interpretation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26086</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Peterson">davep</who>
    <bug_when>2009-07-26 15:21:11 +0000</bug_when>
    <thetext>(All this speaking for myself, not in any way for the Schema WG.)

I believe that you&apos;ll find that the component structure and names of kinds of components follow the following rule:  The largest &quot;kind&quot; of component is &quot;any kind of component&quot;.  There are sub-kinds of components, such as &quot;annotated components&quot; and &quot;term[ componen]ts&quot;.  At the bottom of the &quot;kind&quot; hierarchy are the (seventeen, I believe) kinds of components explicitly described in chapter 3:  &quot;attribute declaration[ component]s&quot;, &quot;model group definition[ component]s&quot;, &quot;particle[ component]s&quot;, etc.  I believe that the bottom-of-the-hierarchy kinds of components do not have definitions marked as such, whereas the other kinds (which are unions of these b-o-t-h kinds) do have formally marked definitions.

At least a quick but not exhaustive search leads me to that conclusion.  If I&apos;m right, then it would probably seem odd to make a definition for one of the b-o-t-h kinds but not the others.

I suspect that your confusion over the two uses of the word &quot;term&quot; would be lessened if the occurrences that are links to the component kind were visually distinct from those that are referring to words in our technical English jargon.  (And that all such occurrences were marked as such, if there are some that aren&apos;t.

Whew!

N.B.:  I use the word &quot;kind&quot; rather than &quot;type&quot; or &quot;class&quot;, because some people associate both those latter words with object-oriented concepts; OO is in turn associated with &quot;data hiding&quot;, and XML is in their minds just the opposite :  making data more visible.  So OO terminology becomes anathema in this context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26091</commentid>
    <comment_count>6</comment_count>
    <who name="Pete Cordell">petexmldev</who>
    <bug_when>2009-07-27 13:55:33 +0000</bug_when>
    <thetext>Thanks Dave.  This has been illuminating to me.  The idea that &apos;kind&apos; is a special word in the vocabulary of the spec has been lost on me up until now.  For example, where the spec says &apos;kinds of&apos;, such as in:

    The name [Definition:]  Component covers all the different kinds of 
    schema component defined in this specification.

I hadn&apos;t concluded that &apos;kind&apos; had a special meaning and had assumed that the sentence could equally have been written as:

    The name [Definition:]  Component covers all the different sorts of 
    schema component defined in this specification.

Or:

    The name [Definition:]  Component covers all the different forms of 
    schema component defined in this specification.

This has led to some confusion when I read things like:

    Schema Component: Attribute Declaration, a kind of Annotated Component

To which I ask, is it or isn&apos;t it an Annotated Component then?!  i.e. I read it as:

    Schema Component: Attribute Declaration, sort of like an Annotated Component
    but not really!

At first I thought the best way to address the confusion would be to Define .Kind. in section 2.2, and then reference this definition in the various headings, such as:

    Schema Component: Attribute Declaration, a .kind. of Annotated Component

But maybe it&apos;s just better to get rid of kind from the headings, e.g. do:

   Schema Component: Attribute Declaration - an Annotated Component
   Schema Component: Element Declaration - a Term</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42373</commentid>
    <comment_count>7</comment_count>
    <who name="David Ezell">David_E3</who>
    <bug_when>2010-11-10 17:32:00 +0000</bug_when>
    <thetext>The WG reported this bug as LATER on 2009-07-27.  We are closing this bug
as requiring no futher work.  If there are issues remaining, you can reopen
this bug and enter a comment to indicate the problem.  Thanks very much for the
feedback.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>