2010-09-29 9 views
5

Ich versuche, ein XSD-Schema zu entwerfen, die Elemente in zufälliger Reihenfolge zulassen und MaxOccurs = "unbegrenzt" haben.XSD-Schema, die zufällige Reihenfolge zulassen

Meine 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

Können Sie uns zeigen, was Sie bisher geschafft haben? Von welchen Elementen sprichst du? Ich nehme an, dass Ihr Modell es erlaubt, dass 'group' Elemente sowohl' key' als auch 'group' Elemente enthalten und dass' root' das gleiche Modell haben soll. Ist das richtig? –

+0

Ja, das ist was ich will. – magol

Antwort

5

Sie <xs:choice> wollen:

<?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> 

ich diese bekam von Ihrem XML-Beispiel in Oxygen XML-Editor einfügen und mit "Extras> Schema generieren/Konvertieren", mit input = Ihr Beispiel-XML-Dokument. (Es kann Trang unter der Decke benutzen ... Ich bin mir nicht sicher.) Dann habe ich das Ergebnis optimiert.