2008-08-28 11 views
8

necesito para crear un esquema XML que se ve algo como esto:esquema XML construir para "Cualquier número de estos elementos - en cualquier orden"

<xs:element name="wrapperElement"> 
<xs:complexType> 
    <xs:sequence> 
     <xs:element type="el1"> 
     <xs:element type="el2"> 
    </xs:sequence> 

    <xs:WhatGoesHere?> 
     <xs:element type="el3"> 
     <xs:element type="el4"> 
     <xs:element type="el5"> 
    </xs:WhatGoesHere?> 

    <xs:sequence> 
     <xs:element type="el6"> 
     <xs:element type="el7"> 
    </xs:sequence> 
</xs:complexType> 
</xs:element> 

Lo que necesito es un reemplazo para "WhatGoesHere" de tal manera que cualquier cantidad de el3, el4 y el5 puede aparecer en cualquier orden. Por ejemplo, podría contener {el3, el3, el5, el3}

¿Alguna idea sobre cómo solucionar esto?

Respuesta

13

¿Quieres xs:choice con restricciones de ocurrencia:

<xs:element name="wrapperElement"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:element name="e11"/> 
     <xs:element name="el2"/> 
     <xs:choice minOccurs="0" maxOccurs="unbounded"> 
     <xs:element name="el3"/> 
     <xs:element name="el4"/> 
     <xs:element name="el5"/> 
     </xs:choice> 
     <xs:element name="el6"/> 
     <xs:element name="el7"/> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 
Cuestiones relacionadas