- From: George Cristian Bina <george@oxygenxml.com>
- Date: Mon, 13 Feb 2006 11:34:06 +0200
- To: richard.liu@ubs.com
- Cc: xmlschema-dev@w3.org
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 http://www.oxygenxml.com richard.liu@ubs.com 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@mac.com > > > > Richard R. Liu > UBS AG > VZA2 - 4.140 IVHS-L2V > Postfach > CH-8098 Zürich > Switzerland > > Tel. +41-44-238 48 82 > Email richard.liu@ubs.com >
Received on Monday, 13 February 2006 09:32:09 UTC