Substitution groups question

Can someone help me interpret the following
(http://www.w3.org/TR/xmlschema-1/#e-final)

 

******************************

"Element declarations are potential members of the substitution group,
if any, identified by {substitution group affiliation}. Potential
membership is transitive but not symmetric; an element declaration is a
potential member of any group of which its {substitution group
affiliation} is a potential member. Actual membership may be blocked by
the effects of {substitution group exclusions} or {disallowed
substitutions}, see below."

******************************

 

What should be the behavior of schema validators in the following
example?

 

<xs:element name="head" type="xs:integer" block="substitution"/>

<xs:element name="member" type="xs:string" substitutionGroup="head"/>

 

Is "member" element a "potential member" or non-member of head's
substitution group?

 

Should validators report an error/warning because "member" element's
type is neither the same nor derived from "head" element's type?  Should
they ignore the type checking since "head" element blocks all
substitutions and therefore "member" element is not a member of head's
substitution group?  Should both checks be suspended until the time when
"member" is used as a part of the substitution group?

 

Thanks,

Stan Kitsis

Received on Friday, 1 April 2005 23:51:58 UTC