Я новичок в XML-схеме.Я должен конвертировать вручную dtd файл.Это две строки
<!ENTITY % field "a|b|c">
<!ELEMENT article (%field;)*>
Я бы хотел определить комплексный тип, который эквивалентен (a | b | c), а также тот, который эквивалентен (a | b | c) * без переписываниякод.То, как я определяю (a | b | c):
<xs:complexType name="abc">
<xs:choice>
<xs:element ref="a"/>
<xs:element ref="b"/>
<xs:element ref="c"/>
</xs:choice>
</xs:complexType>
Однако я не знаю, как определить (a | b | c) *, используя предыдущее определение и без добавления подэлемента, как яниже
<xs:element name="article">
<xs:complexType name="abc*">
<xs:sequence>
<xs:element name="abcelement" type="abc" minOccur="0" maxOccur="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="article>
<xs:complexType name="abc*">
<xs:choice minOccur="0" maxOccur="unbounded">
<xs:element ref="a"/>
<xs:element ref="b"/>
<xs:element ref="c"/>
</xs:choice>
</xs:complexType>
</xs:element>
Спасибо