W3C home > Mailing lists > Public > xmlschema-dev@w3.org > April 2003

RE: Substitution group chains - which can be abstract?

From: Xan Gregg <xan@tibco.com>
Date: Fri, 18 Apr 2003 11:54:06 -0400
Message-ID: <339902DC0E58D411986A00B0D03D84320186AC05@extmail.rtp.tibco.com>
To: "'Dan Vint'" <dvint@mindspring.com>, xmlschema-dev@w3.org

> ...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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:14:36 GMT