2010-09-29 30 views
5

Procuro diseñar un esquema XSD que permita que los elementos estén en orden aleatorio y tengan maxOccurs = "unbounded".Esquema XSD que permite el orden aleatorio

Mi XML:

<root> 
    <key></key> 
    <group></group> 
    <group> 
    <key></key> 
    <key></key> 
    <group> 
     <key></key> 
     <key></key> 
    </group> 
    </group> 
    <key></key> 
    <key></key> 
    <group> 
    <key></key> 
    <key></key> 
    <key></key> 
    </group> 
    <key></key> 
</root> 
+1

¿Puede mostrarnos lo que ha logrado hasta ahora? ¿De qué elementos estás hablando? Supongo que su modelo permite que los elementos 'grupales' contengan los elementos' clave' y 'grupo' y que' root' tenga el mismo modelo. ¿Está bien? –

+0

sí, eso es lo que quiero. – magol

Respuesta

5

¿Quieres <xs:choice>:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:complexType name="groupType"> 
     <xs:choice minOccurs="0" maxOccurs="unbounded"> 
     <xs:element name="group" type="groupType"/> 
     <xs:element name="key"/> 
     </xs:choice> 
    </xs:complexType> 

    <xs:element name="root" type="groupType" /> 
</xs:schema> 

Tengo esta pegando el código XML muestra en el editor de oxígeno XML, y el uso de "Herramientas> Generar/Convertir esquema", con entrada = su muestra de documento XML. (Puede usar Trang bajo las sábanas ... No estoy seguro). Luego modifiqué el resultado.

Cuestiones relacionadas