Построение XML-схемы для “Любого количества этих элементов - в любом порядке”
Вопрос
Мне нужно создать XML-схему, которая выглядит примерно так:
<xs:element name="wrapperElement">
<xs:complexType>
<xs:sequence>
<xs:element type="el1">
<xs:element type="el2">
</xs:sequence>
<xs:WhatGoesHere?>
<xs:element type="el3">
<xs:element type="el4">
<xs:element type="el5">
</xs:WhatGoesHere?>
<xs:sequence>
<xs:element type="el6">
<xs:element type="el7">
</xs:sequence>
</xs:complexType>
</xs:element>
Что мне нужно, так это замена "WhatGoesHere" таким образом, чтобы любое количество el3, el4 и el5 могло отображаться в любом порядке.Например, он может содержать {el3, el3, el5, el3}
Есть какие-нибудь идеи о том, как это решить?
Решение
Ты хочешь xs:choice
с ограничениями на вхождение:
<xs:element name="wrapperElement">
<xs:complexType>
<xs:sequence>
<xs:element name="e11"/>
<xs:element name="el2"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="el3"/>
<xs:element name="el4"/>
<xs:element name="el5"/>
</xs:choice>
<xs:element name="el6"/>
<xs:element name="el7"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Не связан с StackOverflow