[Bug 3023] R-203: Inconsistency with constraints on min/maxExclusive (1.0)

http://www.w3.org/Bugs/Public/show_bug.cgi?id=3023

           Summary: R-203: Inconsistency with constraints on
                    min/maxExclusive (1.0)
           Product: XML Schema
           Version: 1.0 only
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Keywords: needsDrafting
          Severity: normal
          Priority: P2
         Component: Datatypes: XSD Part 2
        AssignedTo: cmsmcq@w3.org
        ReportedBy: cmsmcq@w3.org
         QAContact: www-xml-schema-comments@w3.org


This was originally raised by Sandy Gao in 2003 
(http://lists.w3.org/Archives/Public/www-xml-schema-comments/2003JanMar/0037.html).
The 1.1 version of the issue is bug 1893; this is the 1.0 version
of the bug.

The Schema Component Constraint "minExclusive valid restriction"
says:

    It is an error if any of the following conditions is true:
      ...
      2 maxInclusive is among the members of {facets} of {base
        type definition} and {value} is greater the {value} of
        the parent maxInclusive

So it's an error for minEx > base.maxIn, which implies 
minEx <= base.maxIn (if minEx == maxIn, it results in an empty 
value space)

The Schema Component Constraint "maxExclusive valid restriction"
says:

    It is an error if any of the following conditions is true:
      ...
      3 minInclusive is among the members of {facets} of {base
        type definition} and {value} is less than or equal to the
        {value} of the parent minInclusive 

So it's an error for maxEx <= base.minIn, which implies 
maxEx > base.minIn

Isn't this inconsistent? Shouldn't this be either: 

    minEx < base.maxIn && maxEx > base.minIn 

or 

    minEx <= base.maxIn && maxEx >= base.minIn 

The issue has been discussed periodically.

In the telcon of 2005-09-23, it was resolved to classify this
issue [bug 1893] as error with corrigendum against 1.0, but ask
implementors which way they resolved the inconsistency before
deciding how to resolve this.

The 1.1 version of this issue (bug 1893) was resolved in the face
to face meeting of January 2006 in St Petersburg, Florida, when
the WG adopted a proposal to change (in 1.1) the relevant part of
section 4.3.9.4 to read:

   Schema Component Constraint: minExclusive valid restriction
   It is an ·error· if any of the following conditions is true:
     1 minExclusive is among the members of {facets} of {base type
       definition} and {value} is less than the {value} of that
       minExclusive.
     2 minInclusive is among the members of {facets} of {base type
       definition} and {value} is less than the {value} of that
       minInclusive.
     3 maxInclusive is among the members of {facets} of {base type
       definition} and {value} is greater than or equal to the
       {value} of that maxInclusive.
     4 maxExclusive is among the members of {facets} of {base type
       definition} and {value} is greater than or equal to the
       {value} of that maxExclusive.

The changed wording appears in the Last Call draft of XML Schema 1.1
published in February 2006.

Received on Tuesday, 21 March 2006 00:23:58 UTC