- From: <zongaro@ca.ibm.com>
- Date: Wed, 26 Sep 2001 16:18:54 -0400
- To: www-xml-schema-comments@w3.org, tmacandrew@NetSilicon.com
- Message-ID: <OF364FB0E3.1D5FE296-ON85256AD3.006D6396@torolab.ibm.com>
Hi Tim,
You wrote:
<<<<
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?
>>>>
Your example is prohibited by section 4.1.3 of the XML Schema: Datatypes
recommendation [1], which indicates that only the pattern and enumeration
constraining facets can be repeated in a single derivation.
<<<<
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?
>>>>
Section 4.1.4 of Datatypes ("Simple Type Definition Validation Rules") [2]
indicates that a value must be valid with respect to all members of
{facets}. So I believe that only the values 101 and 499 are valid with
respect to your example xsd:simpleType.
I hope that helps.
Thanks,
Henry
[1] http://www.w3.org/TR/xmlschema-2/#src-single-facet-value
[2] http://www.w3.org/TR/xmlschema-2/#defn-validation-rules
------------------------------------------------------------------------
Henry Zongaro XML Parsers development
IBM SWS Toronto Lab Tie Line 969-6044; Phone (905) 413-6044
mailto:zongaro@ca.ibm.com
Received on Wednesday, 26 September 2001 16:20:16 UTC