Construcción de esquema XML para "Cualquier número de estos elementos, en cualquier orden"
Pregunta
Necesito crear un esquema XML que se parezca a esto:
<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 modo que pueda aparecer cualquier número de el3, el4 y el5 en cualquier orden.Por ejemplo, podría contener {el3, el3, el5, el3}
¿Alguna idea de cómo solucionar esto?
Solución
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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow