Ungeordnete Elemente in XSD mit obligatorischen und unbegrenzten Elementen?

Ich habe das folgende Element in meiner XSD:

<xs:element name="documents" minOccurs="1" maxOccurs="1">
    <xs:complexType>
        <xs:sequence>

            <xs:element name="invoice" minOccurs="1" maxOccurs="1">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:minLength value="1"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>

            <xs:element name="report" minOccurs="0" maxOccurs="1">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:minLength value="1"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>

            <xs:element name="additional" minOccurs="0" maxOccurs="unbounded">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:minLength value="1"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>

        </xs:sequence>
    </xs:complexType>
</xs:element>

Sie können sehen, dass Dokumente immer eine Rechnung haben müssen und optional einen einzelnen Bericht und null oder mehr zusätzliche Dokumente haben können.

Das Problem ist, dass diese Elemente eine andere Reihenfolge der Darstellung haben können, daher kann ich kein @ verwendesequence nicht mehr. Ich habe versucht, @ zu verwendall aber dann ist das Problem das zusätzliche Element, da es @ hmaxOccurs="unbounded".

Wie kann ich eine ungeordnete Liste von Elementen haben, wobei eines dieser Elemente immer erforderlich ist und ein anderes Element unbegrenzt vorkommt?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage