У меня есть этот xml (справа внизу): тег <property>
может содержать любое количество элементов <action>
, <validation>
, <lov>
в ЛЮБОМ ЗАКАЗЕ и СМЕШАННЫХ ВВЕРХ
<!-- ... -->
<property>
<action>foo</action>
<validation>bar</validation>
<lov>baz</lov>
</property>
<property>
<action>foo1</action>
<validation>bar</validation>
<action>foo2</action>
</property>
<property>
<action>foo1</action>
<action>foo2</action>
<action>foo3</action>
</property>
сейчасЯ создаю xsd (в Eclipse) для проверки этого xml, и я пришел с этим (используя <xsd:all>
):
<!-- ... -->
<complexType name="propertyType">
<all minOccurs="0" maxOccurs="unbounded">
<element name="validation" type="tns:validationType" minOccurs="0" maxOccurs="unbounded"></element>
<element name="lov" type="tns:lovType" minOccurs="0" maxOccurs="unbounded"></element>
<element name="action" type="tns:actionType" maxOccurs="unbounded" minOccurs="0"></element>
</all>
</complexType>
НО проверка не проходит
<!-- ... -->
<property>
<action>foo</action>
<validation>bar</validation>
<lov>baz</lov>
</property>
<property>
<action>foo1</action>
<validation>bar</validation>
<action>foo2</action> <!-- ERROR !? -->
</property>
<property>
<action>foo1</action>
<action>foo2</action> <!-- ERROR !? -->
<action>foo3</action>
</property>
сэта ошибка
cvc-complex-type.2.4.a: Обнаружено недопустимое содержимое, начиная с элемента 'action'.Ожидается один из {{* http://www.example.org/dm":validation, "http://www.example.org/dm":lov}'.
Что мне здесь не хватает?