Sch Comp Cons: Particle Derivation OK (All/Choice/Sequence:Any -- NSRecurseCheckCardinality)

(I sent this email to xmlschema-dev last week. Resending it to 'www-xml-schema-comments@w3.org')


Hi

I think the following passage in Part 1 is wrong:

----------------------------
Schema Component Constraint: Particle Derivation OK (All/Choice/Sequence:Any -- NSRecurseCheckCardinality) 

For a group particle to be a ·valid restriction· of a wildcard particle all of the following must be true:

1 Every member of the {particles} of the group is a ·valid restriction· of the wildcard as defined by Particle Valid (Restriction) (§3.9.6). 

[...]
----------------------------

If understood literally, this is saying that a particle of a model group can be a valid restriction of a wildcard.  How can a particle be a valid restriction of a **wildcard** (as opposed to a **particle whose term is a wildcard**)?

If, instead, I interpret it as:

"1 Every member of the {particles} of the group is a ·valid restriction· of the wildcard **particle** as defined by Particle Valid (Restriction) (§3.9.6)."

it becomes clearly wrong, given that the min occurs and max occurs of the "base" particle and the min occurs and max occurs of the "restricted" particle have a role in determining whether a "restricted" particle (say, an element declaration particle) is a valid restriction of a "base" particle (say, a wildcard particle).

For example, suppose I want to restrict a wildcard particle (min occurs=4, max occurs=8) with a sequence particle whose term has three element declaration particles.  The statement above would require that **each** of the element declaration particles was a valid restriction of the wildcard particle, which in turn implies that **each** of the element declaration particles had to have min occurs>=4, max occurs<=8 (see §3.9.6, Schema Component Constraint: Particle Derivation OK (Elt:Any -- NSCompat)).  This makes no sense.

A possible correction is rewording the sentence as follows:

-------------------
1 Every member of the {particles} of the group is a ·valid restriction· of the wildcard particle as defined by Particle Valid (Restriction) (§3.9.6), except that the min occurs of the wildcard particle must be replaced by 0 before applying Particle Valid (Restriction) (§3.9.6).
-------------------

or perhaps as follows:

-------------------
1 Every member of the {particles} of the group is a ·valid restriction· (as defined by Particle Valid (Restriction) (§3.9.6))  of a particle constructed as follows:

min occurs:  0
max occurs:  the same as the max occurs of the wildcard particle
term:   the wildcard
-------------------

Alessandro Triglia
OSS Nokalva

Received on Tuesday, 4 November 2003 08:29:08 UTC