- From: Priscilla Walmsley <priscilla@walmsley.com>
- Date: Thu, 5 Jul 2001 19:33:03 -0400
- To: "'Neil Bradley'" <neil.bradley@rubus.com>, <xmlschema-dev@w3.org>
That's strange, I get a different error with Xerces 1.4.1:
[Error] test.xml:2:45: Unknown base type for type ScoreAndNoScoreList.
[Error] test.xml:2:45: Schema error: cos-list-of-atomic: The itemType
must have
a {variety} of atomic or union (in which case all the {member type
definitions}
must be atomic).
I think it's a bug. XSV does accept it when the instance is valid, but for
some reason crashes when you have an invalid value in the list (apparently
another bug).
Priscilla Walmsley
Vitria Technology
> -----Original Message-----
> From: Neil Bradley [mailto:neil.bradley@rubus.com]
> Sent: Thursday, July 05, 2001 10:25 AM
> To: 'priscilla@walmsley.com'; Neil Bradley; xmlschema-dev@w3.org
> Subject: RE: List of numeric and enumerated values problem
>
>
> Hi,
>
> Yes, I thought that would work too, though the spec seemed a
> bit vague about
> this, and Xerces 1.4.1 could not handle it! It complains that
> "no circular
> definitions are allowed"!
>
> Neil.
>
>
> -----Original Message-----
> From: Priscilla Walmsley [mailto:priscilla@walmsley.com]
> Sent: 05 July 2001 14:59
> To: 'Neil Bradley'; xmlschema-dev@w3.org
> Subject: RE: List of numeric and enumerated values problem
>
>
> Hi Neil,
>
> Create a union of the two types Score and NoScore, then
> create a list of the
> union.
>
> <X:simpleType name="ScoreAndNoScore">
> <X:union memberTypes="A:Score A:NoScore"/>
> </X:simpleType>
>
> <X:simpleType name="ScoreAndNoScoreList">
> <X:list itemType="A:ScoreAndNoScore"/>
> </X:simpleType>
>
>
> That should give you what you want.
>
> Priscilla Walmsley
> Vitria Technology
>
> > -----Original Message-----
> > From: xmlschema-dev-request@w3.org
> > [mailto:xmlschema-dev-request@w3.org]On Behalf Of Neil Bradley
> > Sent: Thursday, July 05, 2001 5:36 AM
> > To: 'xmlschema-dev@w3.org'
> > Subject: List of numeric and enumerated values problem
> >
> >
> >
> > I am trying to create a list type that allows scores, which
> are values
> > between 5 and 50, to be created, such as '50 23 9 22', and
> > mixed with a the
> > keyword 'none' to represent no score. For example, '23 none 5
> > 7 none 45':
> >
> > First I defined the Score type allowing such scores as '23':
> >
> > <X:simpleType name="Score">
> > <X:restriction base='X:integer'>
> > <X:maxInclusive value='50'/>
> > <X:minInclusive value='5'/>
> > </X:restriction>
> > </X:simpleType>
> >
> > Then I create a list type for score, ScoreList, so allowing
> > '50 23 22 9':
> >
> > <X:simpleType name="ScoreList">
> > <X:list itemType="A:Score"/>
> > </X:simpleType>
> >
> > Then I create the NoScore type, which allows the keyword
> 'none' only:
> >
> > <X:simpleType name="NoScore">
> > <X:restriction base='X:NMTOKEN'>
> > <X:enumeration value='none'/>
> > </X:restriction>
> > </X:simpleType>
> >
> > Then I create a list for type NoScore, called NoScoreList, so
> > allowing 'none
> > none none':
> >
> > <X:simpleType name="NoScoreList">
> > <X:list itemType="A:NoScore"/>
> > </X:simpleType>
> >
> > Finally, I try to create union of the two list types, so I
> > can have '23 none
> > 5':
> >
> > <X:simpleType name="ScoreAndNoScore">
> > <X:union memberTypes="A:ScoreList A:NoScoreList"/>
> > </X:simpleType>
> >
> > But it does not work. I can have 'none none none', or '5 6
> 7', but no
> > combination of the two
> >
> > I thought maybe I should create a new list type, but the
> > following addition
> > causes an error:
> >
> > <X:simpleType name="ScoreAndNoScoreList">
> > <X:list itemType="A:ScoreAndNoScore"/>
> > </X:simpleType>
> >
> > Any ideas how to do this?
> >
> > Neil.
> >
> >
> >
> >
> >
>
Received on Thursday, 5 July 2001 19:32:53 UTC