Схема XSD, допускающая случайный порядок
Я пытаюсь разработать схему XSD, которая позволяет элементам быть в случайном порядке и иметь maxOccurs= "unbounded".
Мой 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 ответ:
Вы хотите
<xs:choice>
:<?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>
Я получил это, вставив ваш образец XML в Редактор Oxygen XML и используя "Tools > Generate / Convert Schema", с input = ваш образец XML-документа. (Он может использовать Транга под одеялом... - Я не уверен.) Затем я подправил результат.