Предположим, у меня есть следующее определение типа в схеме XML:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="IntList">
<xs:sequence minOccurs="1">
<xs:element name="a" type="xs:int"/>
<xs:element name="b" type="xs:int"/>
<xs:element name="list">
<xs:complexType>
<xs:sequence>
<xs:element name="x" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
Можно ли ограничить длину последовательности list
ограничением (или каким-либо другим способом), не повторяя всегоопределение IntList
?
Я знаю, что могу сделать
<xs:complexContent>
<xs:restriction base="IntList">
<xs:sequence>
<xs:element name="a" type="xs:int"/>
<xs:element name="b" type="xs:int"/>
<xs:element name="list">
<xs:complexType>
<xs:sequence>
<xs:element name="x" minOccurs="0" maxOccurs="5"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
Но это как-то противоречит цели избежать дублирования кода в максимально возможной степени.Есть ли другой подход к этому?