[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Enumerated Lists


xs nmtoken


Eric van der Vlist wrote:

>On Fri, 2004-03-05 at 12:11, Max Chappell wrote:
>  
>
>>Hi,
>>
>>I'm trying to use a list type that contains only enumerated 
>>values....I've tried validating with XMLSpy and XercesJ2.6.2 and get 
>>errors when I use the list.
>>I've used two different approaches that don't validate correctly - can 
>>anybody tell me if this is a schema problem or a Xerces problem please ?
>>
>>OK. First approach was:
>>
>><xs:simpleType name="ePartitionKeys_">
>>        <xs:restriction base="xs:NMTOKEN">
>>            <xs:enumeration value="PartVersion"/>
>>            <xs:enumeration value="Separation"/>
>>            <xs:enumeration value="SheetName"/>
>>            <xs:enumeration value="Side"/>          
>>        </xs:restriction>
>>    </xs:simpleType>
>>
>><xs:simpleType name="ePartitionKeysList_">
>>        <xs:list itemType="jdftyp:ePartitionKeys_"/>           
>></xs:simpleType>
>>    
>>
>
>Assuming "jdftyp" is a namespace prefix for your target namespace, this
>should do what you say (define a list that contains only enumerated
>values). What's wrong with this first version?
>  
>
Your assumption is correct. I get the same error message for both 
versions. So this is an issue with XMLSpy and  Xerces?

>  
>
>>Second approach makes use of an interim definition (which I think is the 
>>correct way to do this..?):
>>
>><xs:simpleType name="ePartKeysList_">
>>        <xs:list itemType="jdftyp:NMTOKEN"/>           
>> </xs:simpleType>
>>    
>>
>
>Have you defined a "NMTOKEN" type in your target namespace, or shouldn't
>it be :
>
><xs:simpleType name="ePartKeysList_">
>        <xs:list itemType="xs:NMTOKEN"/>           
></xs:simpleType>
>
>???
>
We have indeed defined NMTOKEN in our namespace....

>
>  
>
>><xs:simpleType name="ePartKeysList_">
>>        <xs:list itemType="jdftyp:NMTOKEN"/>           
>> </xs:simpleType>
>>    
>>
>
>  
>
>> <xs:simpleType name="ePartitionKeysList_">
>>        <xs:restriction base="jdftyp:ePartKeysList_">
>>            <xs:enumeration value="PartVersion"/>
>>            <xs:enumeration value="Separation"/>
>>            <xs:enumeration value="SheetName"/>
>>            <xs:enumeration value="Side"/>          
>>        </xs:restriction>
>> </xs:simpleType>   
>>    
>>
>
>Here, you're defining a list type and restrict the result to be one of
>the values in the enumeration. That's fine, but your resulting type is
>not really a list any longer.
>
Yes, I can see that now. Doh!

>
>  
>
>>The error message from Xerces is:
>>[Error] MISPrepress122.jdf:73:226: cvc-enumeration-valid: Value 
>>'SheetName Side Separation PartVersion' is not facet-valid with respect 
>>to enumeration '[PartVersion, Separation, SheetName, Side]'. It must be 
>>a value from the enumeration.
>>[Error] MISPrepress122.jdf:73:226: cvc-attribute.3: The value 'SheetName 
>>Side Separation PartVersion' of attribute 'PartIDKeys' on element 
>>'ExposedMedia' is not valid with respect to its type, 'ePartitionKeysList_'.
>>    
>>
>
>That just says that the values must be either PartVersion, Separation,
>SheetName or Side which is what I mean by "your resulting type is not
>really a list any longer" :) ...
>
>Eric
>  
>



PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.