W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > October to December 2001

Potential Erratum Re: clarification on Unique Particle Attribution

From: Henry S. Thompson <ht@cogsci.ed.ac.uk>
Date: 24 Oct 2001 17:24:02 +0100
To: sandygao@ca.ibm.com
Cc: www-xml-schema-comments@w3.org
Message-ID: <f5bzo6h3t25.fsf@cogsci.ed.ac.uk>
sandygao@ca.ibm.com writes:

> I don't think the following two <choice> declarations are the same, and
> result in the same content model.
> 
>   <group name="grp">
>     <sequence>
>       <element name="e"/>
>     </sequence>
>   </group>
> 
>   <choice>
>     <group ref="grp"/>
>     <group ref="grp" maxOccurs="3"/>
>   </choice>
> 
> and
> 
>   <choice>
>    <sequence>
>      <element name="e"/>
>    </sequence>
>    <sequence max='3'>
>      <element name="e"/>
>    </sequence>
>   </choice>
> 
> Let's follow the spec, and see which particles are involved in the above
> two cases:
> 
> In the first one, there are 4 particles: one for the local element (call it
> PE), one for the sequence in the group (PG), one for the first group
> reference (PG1), and one for the second group reference (PG2). 

The latter two share a term, namely the sequence model group.

> When we see
> an instance "e", we always use the same element particle PE to validate it,
> so this particle can be uniquely determined. But we can't determine whether
> to use PG1 or PG2. I don't see how UPA applies here.

You said it -- we can't distinguish between PG1 and PG2, so UPA _does_ 
apply.

We should be more careful to distinguish terms from particles, I agree.

> In the second one, there are also 4 particles: one for the first sequence
> (PS1), one for the first local element (PE1), and the same for the second
> sequence and local element (PS2 and PE2). Now for "e" in the instance, we
> can't uniquely determine which sequence or element particle to use, hence
> it's a violation of UPA.

You're right, they're _not_ the same -- identity in one case, not in
the other.

> It seems that you are assuming that when a group is referenced by multiple
> places, you'll create different trees of particles for each reference. Then
> in the first case, you'll get two different element particles as the result
> of group reference. But this is not what the spec says. "the particle is
> the particle of ..." is what's mentioned in spec, not "the particle is a
> copy of the particle of ...".

You're right, I should have been more careful in my language.

I also agree, the example you cite is not unambiguously handled by the 
spec. as it stands, except in the second (non-normative) formulation
in Appendix H (the one expressed in terms of FSAs).

My personal inclination is to say that in the phrase 'uniquely determining the
particle' the intent was that the 'uniquely' goes with the
'determining', not the 'particle', so the fact that there are two
routes to the same particle means you lose, but that's not up to me to 
decide -- erratum, please!

Here's why this _should_ be covered by the UPA:

 <choice>
  <sequence>
   <group ref="grp"/>
   <element ref="a"/>
  </sequence>
  <sequence>
   <group ref="grp"/>
   <element ref="b"/>
  </sequence> 
 </choice>

ht
-- 
  Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
          W3C Fellow 1999--2001, part-time member of W3C Team
     2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
	    Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
		     URL: http://www.ltg.ed.ac.uk/~ht/
Received on Wednesday, 24 October 2001 12:23:18 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 6 December 2009 18:12:57 GMT