Неупорядоченные элементы в XSD с обязательными и неограниченными элементами?

У меня есть следующий элемент в моем 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>

Вы можете видеть, что в документах всегда должен быть счет-фактура, и при желании он может иметь один отчет и ноль или более дополнений.

Проблема в том, что эти элементы могут иметь различный порядок появления, поэтому я не могу использоватьsequence больше. Я пытался использоватьall но тогда проблема заключается в дополнительном элементе, так как он имеетmaxOccurs="unbounded".

Как я могу иметь неупорядоченный список элементов, при этом один из этих элементов всегда требуется, а другой элемент может иметь неограниченное количество вхождений?

Ответы на вопрос(1)

Ваш ответ на вопрос