You first need to apply:
2.1 Any top-level element declaration particle (in R or B)
which is the {substitution group affiliation} of one or more
other element declarations and whose *substitution group*
contains at least one element declaration other than itself
is treated as if it were a choice group whose {min occurs}
and {max occurs} are those of the particle, and whose
{particles} consists of one particle with {min occurs} and
{max occurs} of 1 for each of the declarations in its
*substitution group*.
So for checking restriction, the complexType X is treated as:
<xs:sequence>
<xs:choice>
<xs:element ref="A"/>
<xs:element ref="B"/>
</xs:choice>
</xs:sequence>
xan
-----Original Message-----
From: Edmund Vorauer
is there an non-ambiguous rule in the spec which allows the use of
substitutionGroup members instead of the original element in the derived
type ?
...
any hint most wellcome!