Игнорировать порядок элементов, используя расширение xs:

Как я могу создать свойXSD игнорировать последовательность элементов?

<root> <a/> <b/> </root>

<root> <b/> <a/> </root>

Мне нужно использоватьextension по причинам генерации кода, поэтому я попробовал следующее с помощьюall:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.example.com/test"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:t="http://www.example.com/test" >

    <xs:complexType name="BaseType">
        <xs:all>
            <xs:element name="a" type="xs:string" />
        </xs:all>
    </xs:complexType>

    <xs:complexType name="ExtendedType">
        <xs:complexContent>
            <xs:extension base="t:BaseType">
                <xs:all> <!-- ERROR -->
                    <xs:element name="b" type="xs:string" />
                </xs:all>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

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

Этот xsd недопустим, следующая ошибка сообщается в<!-- ERROR -->:

cos-all-limited.1.2: вся группа моделей должна появляться в частице с {min происходит} = {макс происходит} = 1, и эта частица должна быть частью пары, которая составляет {тип содержимого} сложного типа определение.

Документациясоз-все-limited.1.2 говорит:

1.2 свойство {term} частицы с {max Встречает} = 1, которая является частью пары, которая составляет {тип содержимого} определения сложного типа.

Я не очень понимаю это (ни xsd, ни носитель английского языка :) ).

Я делаю что-то не так, я делаю что-то не так, или нет способа добиться этого?

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

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