XSD - разрешить один конкретный элемент несколько раз, а другим - только один раз

Я пытаюсь создать complexType в котором я могу написать следующее:

<MyType>
    <tag1>Something</tag1>
    <tag2>Tag 1</tag2>
    <tag2>Tag 2</tag2>
    <tag3>Another something</tag3>
</MyTpe>

В основном я хочу иметь возможность указывать теги в произвольном порядке, но я могу указать tag2 неограниченное количество раз. Как я могу это сделать?

Я уже попробовал choice, но кажется, что это позволит любому элементу неограниченное количество раз.

Вот соответствующая часть моего XSD:

<xsd:complexType name="MyType">
    <xsd:all>
        <xsd:element name="tag1" />
        <xsd:element name="tag3" />
    </xsd:all>
    <xsd:choice maxOccurs="unbounded">
        <xsd:element maxOccurs="unbounded" name="tag2"  />
    </xsd:choice>
</xsd:complexType>

0 ответов

Другие вопросы по тегам