<restriction> - Bad Kleene Notation?

Hello

	I apologize if this topic has already been covered/discussed,
but my search of the database did not find any hits.

      From "XML Schema Part 1: Structures" the definition of
the <restriction> item within a <simpleContent> is:

      <restriction 
            base = QName
            id = ID
            {any attributes with non-schema namespace . . .}>
        Content: (annotation?, (simpleType?,
                    (minExclusive | minInclusive | maxExclusive |
                     maxInclusive | totalDigits | fractionDigits |
                     length | minLength | maxLength | enumeration |
                     whiteSpace | pattern)*)?,
                  ((attribute | attributeGroup)*, anyAttribute?))
      </restriction>

(from: (http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/)

The use of the Kleene operator * in the "Content" section allows for
a schema item such as:

      <xsd:simpleType>
         <xsd:restriction base = "xsd:integer">
            <xsd:minExclusive value = "100"/>
            <xsd:minExclusive value = "10"/>
         </xsd:restriction>
      </xsd:simpleType>

since the * operator allows 0 or more occurrences of each of the items
within the parentheses.  But, as the example shows, it is semantically
invalid to use the <minExclusive> item more than once.

QUESTION:  Is the definition for the <restriction> item correct, or are
           such expressions valid?

Also, the statement:

      <xsd:simpleType>
         <xsd:restriction base = "xsd:integer">
            <xsd:minExclusive value = "100"/>
            <xsd:maxExclusive value = "500"/>
            <xsd:enumeration value  = "101"/>
            <xsd:enumeration value  = "499"/>
         </xsd:restriction>
      </xsd:simpleType>

is a valid schema item.  However, it is semantically ambiguous.  Are
the values restricted to only "101" and "499", or are all values
between "101" and "499" valid?

Any clarification will be helpful.  Thank you.

Tim MacAndrew
NetSilicon - Softworks Group
e-Mail: TMacAndrew@NetSilicon.com

PS
     For the first case, the "Schema Validator" by IBM generated the
following
     error message:

          Initializing Schema Quality Checker. Please wait ...
          SchemaQualityChecker has been initialized
          PROCESSING test.xsd time : 2001-08-22T15:49:43 ...
          test.xsd (file 1 of 1) now being read ...
          ERROR
          file = file:C:/Work/XML/NXSC/test.xsd line 13 column 57
          SEVERITY: 1
          ERROR TYPE: 1
          MESSAGE
          minExclusive is defined more than once.  The last value will be
used.
 
---------------------------------------------------------------------
          end time = 2001-08-22T15:49:45

     The warning is useful, but the validator is only "guessing" at the
     correct meaning.

Received on Monday, 27 August 2001 18:37:29 UTC