Всем привет. Должна получиться такая схема:
<xs:schema xmlns:tns="http://www.111.ru xmlns:xs="http://www.w3.org/2001/XMLSchema targetNamespace="http://www.111.ru/api/v1 attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:complexType name="ArrayOfObjectRights">
<xs:sequence>
<xs:element name="ObjectRight" type="tns:ObjectRight" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Никак не могу заставить схему для ObjectRight установить minOccurs и maxOccurs
СхемаXML = Новый СхемаXML;
СхемаXML.ПространствоИмен = URIПространстваИмен;
СхемаXML.ФормаАтрибутовПоУмолчанию = ФормаПредставленияXS.Неквалифицированная;
СхемаXML.ФормаЭлементовПоУмолчанию = ФормаПредставленияXS.Квалифицированная;
//------------------------------
ФрагментСхемыМассивОбъектныхПрав = Новый ФрагментXS;
ФрагментСхемыМассивОбъектныхПрав.Часть = Новый ГруппаМоделиXS;
ТипМассивОбъектныхПрав = Новый ОпределениеСоставногоТипаXS;
ТипМассивОбъектныхПрав.Имя = "ArrayOfObjectRights";
ТипМассивОбъектныхПрав.Содержимое = ФрагментСхемыМассивОбъектныхПрав;
СхемаXML.Содержимое.Добавить(ТипМассивОбъектныхПрав);
ТипЭлементМассиваОбъектныхПрав = Новый ОбъявлениеЭлементаXS;
ТипЭлементМассиваОбъектныхПрав.Имя = "ObjectRight";
ТипЭлементМассиваОбъектныхПрав.ИмяТипа = Новый РасширенноеИмяXML(URIПространстваИмен, "ObjectRight");
ФрагментыТипаМассивОбъектныхПрав = ТипМассивОбъектныхПрав.Содержимое.Часть.Фрагменты;
ФрагментыТипаМассивОбъектныхПрав.Добавить(ТипЭлементМассиваОбъектныхПрав)
Если делаю так, то у меня минимальное значение появляется на уровень выше, что логично.
ТипМассивОбъектныхПрав.Содержимое.МинимальноВходит = 0;
Судя по СП, "Минимимально входит" может появляться только у "ФрагментXS".
Куда еще копнуть, чтобы именно у элемента установить минимально возможное количество элементов, не правя схему руками?