- From: Ross Thompson <ross@contivo.com>
- Date: Mon, 1 Jul 2002 12:24:43 -0400 (EDT)
- To: "URSEKAR@contivo.com,MAHESH (Non-HP-Spain@contivo.com, ex2)" <mahesh.ursekar@non.hp.com>
- Cc: "'xmlschema-dev@w3.org'" <xmlschema-dev@w3.org>
URSEKAR,MAHESH (Non-HP-Spain,ex2) writes: > Hi! > > I created the a schema that uses recurison using XML Spy. Here is the small > snippet that is giving me problems: > > <xs:element name="sections"> > <xs:complexType> > <xs:sequence> > <xs:element ref="section" > maxOccurs="unbounded"/> > </xs:sequence> > </xs:complexType> > </xs:element> > <xs:element name="section"> > <xs:complexType> > <xs:sequence> > <xs:element ref="description"/> > <xs:element ref="repetitions" > minOccurs="0"/> > <xs:choice> > <xs:element ref="section" > maxOccurs="unbounded"/> > <xs:element ref="register" > maxOccurs="unbounded"/> > </xs:choice> > </xs:sequence> > <xs:attribute ref="name" use="required"/> > <xs:attribute ref="baseAddress" use="required"/> > </xs:complexType> > </xs:element> > > Using XML Spy, I tried to create an XML document based on the above schema > and end up with the following problem: > > When I reach the "sections" element, XML Spy shows me the "section" element > as a sub-element. But the "section" element (which uses recursion) does not > show me any sub-children. > > I believe XML schemas support recursion. In that case, is this a limitation > with XMLSpy?? > > Any help would be welcome as this is a blocking problem in my current work!! Every time I make a public statement on this list, I end up sticking my foot in my mouth, so this time I will be cautious: I believe it may possibly be somewhat true, at some time past, present or future, that: You cannot define elements or types in schema directly in terms of themselves. (Complex exception to muddy the water: this applies in a very odd way when a 'redefine' is happening.) Your example could be fixed by making section's type a global type, viz: <xs:element name="section" type="section"/> <xs:complexType name="section"> <xs:sequence> <xs:element ref="description"/> <xs:element ref="repetitions" minOccurs="0"/> <xs:choice> <xs:element ref="section" maxOccurs="unbounded"/> <xs:element ref="register" maxOccurs="unbounded"/> </xs:choice> </xs:sequence> <xs:attribute ref="name" use="required"/> <xs:attribute ref="baseAddress" use="required"/> </xs:complexType> - Roß --- Reality is an illusion that occurs due to the lack of alcohol. -- W.C. Fields
Received on Tuesday, 2 July 2002 04:45:47 UTC