Как я могу создать свой 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, и эта частица должна быть частью пары, которая составляет {тип содержимого} определение сложного типа.
Документация cos-all-limited.1.2 гласит:
1.2 свойство {term} частицы с {max Встречает} = 1, которая является частью пары, которая составляет {тип содержимого} определения сложного типа.
Я не очень понимаю это ( ни xsd, ни носитель английского языка:) ).
Я поступаю неправильно, я поступаю неправильно, или нет способа добиться этого?