Altova Mailing List Archives>Archive Index >xmlschema-dev Archive Home >Recent entries >Thread Prev - Re: E rcase-RecurseLax.1: Group's occurrence range, (1,unbounded), is not a valid restriction of base group's occurrence range, (1,1). [Thread Next] RE: E rcase-RecurseLax.1: Group's occurrence range, (1,unbounded), is not a valid restriction of base group's occurrence range, (1,1).To: "'George Cristian Bina'" <george@---------.--->, <richard.liu@---.---> Date: 2/13/2006 11:33:00 AM
Surely adding a pointless sequence to the choice can't affect the =
outcome,
because a pointless sequence is ignored? But I'm not sure at what point =
in
the algorithm pointless particles are supposed to be discarded.
Anyway, this seems to be one of the cases where the algorithm in Schema =
Part
1 is plain wrong.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: xmlschema-dev-request@w...
> [mailto:xmlschema-dev-request@w...] On Behalf Of George
> Cristian Bina
> Sent: 13 February 2006 09:34
> To: richard.liu@u...
> Cc: xmlschema-dev@w...
> Subject: Re: E rcase-RecurseLax.1: Group's occurrence range,
> (1,unbounded), is not a valid restriction of base group's
> occurrence range, (1,1).
>
>
> Hello Richard,
>
> Xerces is right to report that error as I read the spec. To have this
> correct you need to add an empty sequence as below:
> <xs:choice>
> <xs:group ref="a-Group" maxOccurs="unbounded"/>
> <xs:sequence/>
> </xs:choice>
> Otherwise the main choice particle is ignored according to
> http://www.w3.org/TR/xmlschema-1/#cos-particle-restrict
> See 2, 2.2, 2.2.2, 2.2.2.2.1.
> ***
> 2.2 Any pointless occurrences of <sequence>, <choice> or <all> are
> ignored, where pointlessness is understood as follows:
> <choice>
> One of the following must be true:
> 2.2.2 All of the following must be true:
> 2.2.2.1 The particle within which this <choice> appears has
> {max occurs}
> and {min occurs} of 1.
> 2.2.2.2 One of the following must be true:
> 2.2.2.2.1 The <choice>'s {particles} has only one member.
> ***
>
> and the restricted type is equivalent with only
> <xs:group ref="a-Group" maxOccurs="unbounded"/>
>
> that is equivalent with
>
> <xs:choice maxOccurs="unbounded">
> <xs:element ref="a1"/>
> <xs:element ref="a2"/>
> <xs:element ref="a3"/>
> </xs:choice>
>
> and this cannot restrict
>
> <xs:choice>
> <xs:group ref="a-Group" maxOccurs="unbounded"/>
> <xs:element ref="b"/>
> </xs:choice>
>
> as the choice here has minOccurs and maxOccurs equal with 1.
>
> Best Regards,
> George
> ---------------------------------------------------------------------
> George Cristian Bina
> <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
> www.---.com
>
>
> richard.liu@u... wrote:
> > I have the following W3C XML schema:
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> > elementFormDefault="qualified" =
targetNamespace="http://www.ubs.com/
> > namespace/wbml-render" xmlns="http://www.ubs.com/namespace/wbml-
> > render" xmlns:wbr="http://www.ubs.com/namespace/wbml-render">
> > <xs:element name="a" type="xs:string"/>
> > <xs:element name="a1" type="xs:string"/>
> > <xs:element name="a2" type="xs:string"/>
> > <xs:element name="a3" type="xs:string"/>
> > <xs:element name="b" type="xs:integer"/>
> > <xs:group name="a-Group">
> > <xs:choice>
> > <xs:element ref="a1"/>
> > <xs:element ref="a2"/>
> > <xs:element ref="a3"/>
> > </xs:choice>
> > </xs:group>
> > <xs:complexType name="groupBaseType">
> > <xs:choice>
> > <xs:group ref="a-Group" maxOccurs="unbounded"/>
> > <xs:element ref="b"/>
> > </xs:choice>
> > </xs:complexType>
> > <xs:complexType name="groupRestrictedType">
> > <xs:complexContent>
> > <xs:restriction base="groupBaseType">
> > <xs:choice>
> > <xs:group ref="a-Group" =
maxOccurs="unbounded"/>
> > </xs:choice>
> > </xs:restriction>
> > </xs:complexContent>
> > </xs:complexType>
> > <xs:complexType name="baseType">
> > <xs:choice>
> > <xs:element ref="a" maxOccurs="unbounded"/>
> > <xs:element ref="b"/>
> > </xs:choice>
> > </xs:complexType>
> > <xs:complexType name="restrictedType">
> > <xs:complexContent>
> > <xs:restriction base="baseType">
> > <xs:choice>
> > <xs:element ref="a" maxOccurs="unbounded"/>
> > </xs:choice>
> > </xs:restriction>
> > </xs:complexContent>
> > </xs:complexType>
> > </xs:schema>
> >
> > The a-Group is a choice of three elements. The
> groupBaseType is a choice of either one to unbounded many
> instances of a-Group, or of the element b. I want to define
> another complex type as a restriction of the groupBaseType.
> It should not allow b.
> >
> > In Oxygen 7 I receive the following two error messages.
> >
> > SystemID: /Applications/oxygen/Untitled1.xsd
> > Location: 21:48
> > Description: E rcase-RecurseLax.1: Group's occurrence
> range, (1,unbounded), is not a valid restriction of base
> group's occurrence range, (1,1).
> > URL: http://www.w3.org/TR/xmlschema-1/#rcase-RecurseLax
> >
> > SystemID: /Applications/oxygen/Untitled1.xsd
> > Location: 21:48
> > Description: E derivation-ok-restriction.5.4.2: Error for
> type 'groupRestrictedType'. The particle of the type is not
> a valid restriction of the particle of the base.
> > URL: http://www.w3.org/TR/xmlschema-1/#derivation-ok-restriction
> >
> > Evidently, based on the second example using baseType and
> restrictedType, the error messages pertain to the fact that I
> am using a group, but I don't understand what is wrong. Can
> anybody shed light on the error?
> >
> > Regards,
> > Richard
> >
> > Richard R. Liu
> > Gundeldingerstr. 171
> > CH-4053 Basel
> > Switzerland
> >
> > Tel. +41 (61) 361 3275
> > Email richard.liu@m...
> >
> >
> >
> > Richard R. Liu
> > UBS AG
> > VZA2 - 4.140 IVHS-L2V
> > Postfach
> > CH-8098 Z=FCrich
> > Switzerland
> >
> > Tel. +41-44-238 48 82
> > Email richard.liu@u...
> >
>
>
From george@o... Mon Feb 13 14:15:16 2006
Received: from lisa.w3.org ([128.30.52.41])
by frink.w3.org with esmtp (Exim 4.50)
id 1F8eU0-0003Dd-7b
for xmlschema-dev@l...; Mon, 13 Feb 2006 14:15:16 +000 | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
