W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > April to June 1999

RE: XML Schema errata (and digest question)

From: Ronald Bourret <rbourret@ito.tu-darmstadt.de>
Date: Fri, 11 Jun 1999 09:27:49 +0200
Message-ID: <01BEB3EC.AD003BC0@grappa.ito.tu-darmstadt.de>
To: "xml-dev@ic.ac.uk" <xml-dev@ic.ac.uk>, "'www-xml-schema-comments@w3.org'" <www-xml-schema-comments@w3.org>
Hank Oxford wrote:

> Anyone put together errata for the W3C XML Schema draft's Schema schema
> or schema DTD?  (Is that confusing enough?) I'm trying to cobble
> together something that can work with it and have found one small
> discrepancy so far.
>
> The schema schema says:
> <modelGroup name="bounds">
>    <choice>
>       <sequence>
>          <elementTypeRef name="minInclusive" minOccur="0" maxOccur="1"/>
>          <elementTypeRef name="maxInclusive" minOccur="0" maxOccur="1"/>
>       </sequence>
>       <sequence>
>          <elementTypeRef name="minExclusive" minOccur="0" maxOccur="1"/>
>          <elementTypeRef name="maxExclusive" minOccur="0" maxOccur="1"/>
>       </sequence>
>    </choice>
> </modelGroup>
>
> The DTD says:
> <!ENTITY % bounds "((minInclusive | minExclusive)?,
>   (maxInclusive | maxExclusive)?)">
>
> If I'm reading the Schema schema right, well, it's wrong.  It wouldn't
> allow mixed bounds in the form of, say,  a minInclusive and a
> maxExclusive.
>
> The DTD says you may or may not have either a minInclusive or
> minExclusive (but not both) and may or may not have either a
> maxInclusive or maxExclusive (but not both).  I believe the DTD is
> correct.

   [correct schema snipped]

You are correct, as is your suggested syntax (except for the commas between 
attributes and that you have mislabeled a closing choice as a closing 
sequence).

I also noted two other problems:

i) In the schema definition of the attribute group "occurrence", the 
default for maxOccur is 1. This doesn't work, as it means there is no way 
for maxOccur to be infinity -- the DTD is correct here as well.

ii) In the schema for data types (appendix A of part 2), maxOccur of "*" is 
used. This is illegal because "*" is not an integer. (It looks like the WG 
played around with different strategies on how to model infinity and didn't 
catch everything after settling on the current strategy.)

-- Ron Bourret
Received on Friday, 11 June 1999 03:30:23 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 6 December 2009 18:12:46 GMT