RE: XML Schema errata (and digest question)

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 UTC