RE: Substitution group chains - which can be abstract?

> only the head of a substitution group may be abstract?

Every global element declaration _is_ the head of a substitution group, even
if the group has no members.  So the above constraint is technically true
but vacuous.  More to your concern, I know of no constraint that says an
element declaration cannot be both abstract and have a substitution group
affiliation, which seems to be what Xerces is complaining about.

There is some confusion in 1.0 about whether the head of a substitution
group is also a member of that substitution group (it is if it isn't
abstract).  The text for errata E1-23 clarifies several features of
substitution groups, including denoting potential members as a superset of
actual members:

http://www.w3.org/2001/05/xmlschema-errata#e1-23

Looking at Xerces bug database, it seems this problem was fixed recently for
Xerces C++: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17819
But I don't see anything for Xerces-J in bugzilla.

xan

-----Original Message-----
From: Simon Cox [mailto:Simon.Cox@csiro.au]
Sent: Thursday, April 17, 2003 11:09 PM
To: xmlschema-dev@w3.org; Dan Vint
Subject: Re: Substitution group chains - which can be abstract?

I was looking in part 1 rather than the primer.
Can you (or anyone else) point me to the normative section in part 1 where
it states that only the head of a substitution group may be abstract?  I
looked but could not find it.

I don't see the benefit in this restriction.

Simon Cox

----- Original Message -----
From: "Dan Vint" <dvint@mindspring.com>
To: <Simon.Cox@csiro.au>; <Simon.Cox@csiro.au>; <xmlschema-dev@w3.org>
Sent: Thursday, April 17, 2003 11:30 PM
Subject: Re: Substitution group chains - which can be abstract?


> That is the way I read the Schema primer on this topic. You have the
choice
> of using the abstract, but it appears that the head element is the only
one
> that can have this value. I see this as being the way to control element
> similar to complexTypes.
>
> ..dan
>
> At 04:47 PM 4/17/2003 +0800, Simon.Cox@csiro.au wrote:
>
> >Xerces 2.1.0 is throwing the following error for one of my schemas:
> >
> >"c:\dev\schemas\src\foo.xsd (121, 109) : error : For '_Bar' to be a
member
> >of the substitution group set of 'myns:_Foo', its {abstract} must be
false."
> >
> >This appears to say that only the head of a substitution group can be
> >abstract="true".
> >Is this correct?  This would appear to disallow the use of some useful
> >substitution group chains.
> >
> >Simon
> >

Received on Friday, 18 April 2003 10:23:27 UTC