RE: Substitution group chains - which can be abstract?

> ...You sort of have 2 head elements, but only one common set
> of substitution elements.

Not necessarily the same set of "substitution elements", but usually a
subset (except when some are ruled out by block/final, which I prefer not to
think about unless I have to).

Example:

<element name="bird" abstract="true"/>

<element name="flighted-bird" substitutionGroup="bird" abstract="true"/>
<element name="robin" substitutionGroup="flighted-bird"/>

<element name="flightless-bird" substitutionGroup="bird" abstract="true"/>
<element name="penguin" substitutionGroup="flightless-bird"/>

_Element decl_   _SG actual members_
bird             {robin, penguin}
flighted-bird    {robin}
robin            {robin}
flightless-bird  {penguin}
penguin          {penguin}

xan

-----Original Message-----
From: Dan Vint [mailto:dvint@mindspring.com]
Sent: Friday, April 18, 2003 11:23 AM
To: xmlschema-dev@w3.org
Subject: Re: Substitution group chains - which can be abstract?

What would be the purpose in saying that this group X based upon this 
abstract head Y, has all these things that can substitute for it and then 
have one of those substitution items also have abstract applied to it?

Now the head and an internal member both cannot be used in the data stream. 
Maybe you might get the use of the second element for use in the schema but 
the end result would be the same wouldn't? You sort of have 2 head 
elements, but only one common set of substitution elements.

..dan

Received on Friday, 18 April 2003 12:01:18 UTC