Я работаю над XSD. Я хотел бы иметь элемент container
(сложный тип), который содержит любой элемент с базовым типом component
.
Один из подходов ...
<complexType name="Container">
<sequence>
<element name="Child" type="am:Component"></element>
</sequence>
</complexType>
Но проблема в том, что мои компоненты называются детьми. Предположим, у меня есть 3 компонента: foo
, bar
и baz
. Я хотел бы иметь возможность сделать документ, который выглядел бы как ...
<container>
<foo fooTag="foo"/>
<foo fooTag="foo"/>
<baz bazTag="baz"/>
<bar barTag="bar"/>
</container>
При первом подходе я получу ...
<container>
<child fooTag="foo"/>
<child fooTag="foo"/>
<child bazTag="baz"/>
<child barTag="bar"/>
</container>
Я мог бы просто использовать элемент xs:any
, но тогда я бы потерял свое утверждение, что ребенок должен быть component
. Есть ли способ получить то, что я хочу?