RE: Schema Component Constraint: Element Declarations Consistent

Without fully parsing your examples, I assume you're noticing that Element
Declarations Consistent appeals to the substitution group of an element, but
membership in a subsitution group is not precisely defined with regards to
block, final and abstract.  

I think you will find that this issue has been addressed in the errata for
1.0 at http://www.w3.org/2001/05/xmlschema-errata, E1-23.  The transitive
closure of substitutionGroup properties is now called the "potential
substitution group" and the "actual" substitution group is the subset of the
potential substitution group that is not ruled out by block, final and
abstract.

So your first example is valid.  The second is probably valid, too, but I
get lost trying to keep block and final straight in these cases.

xan

-----Original Message-----
From: Michael Marchegay [mailto:mmarcheg@optonline.net]
Sent: Thursday, May 29, 2003 4:44 PM
To: xmlschema-dev@w3.org
Subject: Schema Component Constraint: Element Declarations Consistent

Hi all,

I have a question on the implication of the substitution group and of the
{disallowed substitution} on the constraint  "Schema Component Constraint:
Element Declarations Consistent" [1]

Is this constraint valid for the model group definition MG bellow?

<element name="a" **block="substitution"**/>
<element name="b" substitutionGroup="a"/>

<group name="MG">
  <element ref="a"/>
  <element name="b" type="boolean"/>
</group>

And what about transitive substitution group?  Is the group MG2 bellow
valid?

<element name="x" **block="restricction"**/>
<element name="y" substitutionGroup="x"/>
<element name="z" substitutionGroup="y" type="string"/>

<group name="MG2">
  <element ref="x"/>
  <element name="z" type="boolean"/>
</group>

[1] XML Schema Part 1 - 3.8.6 - Schema Component Constraint: Element
Declarations Consistent
(http://www.w3.org/TR/xmlschema-1/#cos-element-consistent)

Thanks,

Michael Marchegay

Received on Thursday, 29 May 2003 17:38:49 UTC