RE: Defining recursive elements?

No problem. In essence it's:

<xs:element name="part">
 <xs:complexType>
  <xs:sequence>
   <xs:element ref="part" minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
</xs:element>

(and add the attribute)

Michael Kay
http://www.saxonica.com/    

> -----Original Message-----
> From: xmlschema-dev-request@w3.org 
> [mailto:xmlschema-dev-request@w3.org] On Behalf Of Todd Moon
> Sent: 16 May 2007 18:55
> To: xmlschema-dev@w3.org
> Subject: Defining recursive elements?
> 
> 
> I'm not sure if the subject is accurate, but I'm trying to 
> author an XSD that allows a certain complex type to be nested 
> within itself to an arbitrary depth.
> 
> A simple example would look like this:
> 
> <?xml version="1.0" encoding="utf-8" ?>
> <part serial="00000001234">
>   <part serial="00000001234">
>     <part serial="00000001234">
>     </part>
>     <part serial="00000001234">
>     </part>
>     <part serial="00000001234">
>       <part serial="00000001234">
>       </part>
>       <part serial="00000001234">
>         <part serial="00000001234">
>         </part>
>       </part>
>     </part>
>   </part>
>   <part serial="00000001234">
>   </part>
> </part>
> 
> Any "part" can contain any number of other parts.
> 
> Is it possible to validate this structure without putting an 
> arbitrary limit on the maximum depth?
> 
> 

Received on Wednesday, 16 May 2007 20:52:37 UTC