- 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
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 UTC