Вообще говоря, ограничения вхождения (minOccurs
или maxOccurs
) для групп элементов (последовательности или варианты выбора) означают, что вся группа может быть повторена, тогда как ограничения вхождения для элементов означают, что элемент может повторяться до следующего элемента впоявляется группа.
Если ваша последовательность содержит только один элемент, разницы нет.
<xs:sequence>
<xs:element maxOccurs="unbounded" name="MyType2">...</xs:element>
</xs:sequence>
равно
<xs:sequence maxOccurs="unbounded">
<xs:element name="MyType2">...</xs:element>
</xs:sequence>
, и они оба позволяют повторять элемент<MyType2>
.Будет различие, как только последовательность содержит более одного определения элемента.
<xs:sequence>
<xs:element maxOccurs="unbounded" name="MyType">...</xs:element>
<xs:element maxOccurs="unbounded" name="foobar">...</xs:element>
</xs:sequence>
равно , а не равно
<xs:sequence maxOccurs="unbounded">
<xs:element name="MyType">...</xs:element>
<xs:element name="foobar">...</xs:element>
</xs:sequence>
Первый допускает структурыкак
<MyType/>
<MyType/>
<foobar/>
<foobar/>
, но второй не допускает такой структуры.Вместо этого он допускает такие структуры, как
<MyType/>
<foobar/>
<MyType/>
<foobar/>
, которые, с другой стороны, не допускаются первым определением.