RE: Is enumeration valid for NMTOKENS?

It is valid, but it's not particularly useful (and the spec isn't particular
clear about it). The list as a whole must match one of the enumerated
values. If you want to restrict the set of tokens that can appear in the
list, you should define a type T that derives from NMTOKEN, and then define
a list type with T as its itemType.
 
Michael Kay
http://www.saxonica.com/


  _____  

From: xmlschema-dev-request@w3.org [mailto:xmlschema-dev-request@w3.org] On
Behalf Of Siva Dirisala
Sent: 30 March 2008 10:04
To: xmlschema-dev@w3.org
Subject: Is enumeration valid for NMTOKENS?


I came across a schema definition where the attribute type is defined as

<xs:simpleType name="someType">
   <xs:restriction base="xs:NMTOKENS">
      <!-- bunch of xs:enumeration elements -->
   </xs:restriction>
</xs:simpleType>

I am not sure if the intent is that someType should be a list of values
where each value can be one of the enumerated values. Or it could be a
mistake and the base type should have been xs:NMTOKEN. I looked at the XML
Schema specification, but couldn't find any restriction in using a list type
as the base type for enumeration.

If the intent is to allow multiple values, then personally I would prefer
defining a type for the list elements and then another type that explicitly
uses the list and itemType to define a list of that restricted type. I would
like to know if the above definition is correct or it should be the way I
prefer.

thanks,
Siva

Received on Sunday, 30 March 2008 10:02:13 UTC