Hi All,
I get the following message when parsing an input file with schema checking
on:
Message: No circular definitions are allowed: 'ValueGroup'
A portion of my schema is defined as follows:
<xs:complexType name="ObjectType">
<xs:sequence>
<xs:group ref="ValueGroup" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:group name="ValueGroup">
<xs:choice>
<xs:element name="Inherited" type="InheritedType"/>
<xs:element name="Basic" type="BasicType"/>
<xs:element name="String" type="StringType"/>
</xs:choice>
</xs:group>
<xs:complexType name="InheritedType">
<xs:complexContent>
<xs:extension base="ValueType">
<xs:group ref="ValueGroup" minOccurs="0"
maxOccurs="unbounded"/>
</xs:extension>
</xs:complexType>
Some sample XML would be:
<Object>
<Inherited name="ooObjectPlacementStrategy" position="0">
<Inherited name="ooPdStrategy" position="0">
<String name="mName" position="1">EvolveTest</String>
<String name="mComment" position="2"/>
</Inherited>
<Basic name="mSeparateByOwner" position="4" type="uint8" value="1"/>
</Inherited>
<Basic name="mPagePlacement" position="2" type="uint8" value="7"/>
</Object>
The complaint is that InheritedType is included in ValueGroup, and includes
ValueGroup. This is certainly circular from the schema's point of view, but
is a natural outcome of generically modeling an object's data, which is what
I am doing. Is such an arrangement really illegal? Or is it a constraint
specific to Xerces' implementation? I was not able to locate any such
constraint in the XML Schema specification (I may have missed it though).
Also, when processing the same input with XML Spy, I do not get this error
(I believe it uses MSXML).
Thanks,
Lenny
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]