Вы здесь

XSD элемент all

Элемент all устанавливает, что дочерние элементы могут появляться в любом порядке и что каждый дочерний элемент может быть определен ноль или больше раз.

  • Родительские элементы: group, complexType, restriction (simpleContent и complexContent), extension (simpleContent и complexContent)
Синтаксис

<all
 id=идентификатор
 maxOccurs=1
 minOccurs=0 | 1
 любые атрибуты
 >

 (annotation?, element*)

</all>

(Знак ? указывает на то, что элемент может появляться ноль или один раз, знак * указывает на то, что элемент может появляться ноль, один или больше раз внутри элемента all.)

Атрибуты
Атрибут Описание
id Не обязательный. Определяет уникальный идентификатор для элемента
maxOccurs Не обязательный. Определяет, сколько раз максимально может появляться элемент. Значение по умолчанию 1
minOccurs Не обязательный. Определяет, сколько раз минимально может появляться элемент. Значение может быть 0 или 1. Значение по умолчанию 1
любые атрибуты Не обязательный. Любые другие атрибуты вне пространства имен схемы
Примеры использования элемента

Пример №1
В следующем примере декларируется, что элементы "firstname" и "lastname" могут появляться в любом порядке, но оба эти элемента ДОЛЖНЫ появляться один и только один раз!


<xs:element name="person">
   <xs:complexType>
     <xs:all>
       <xs:element name="firstname" type="xs:string"/>
       <xs:element name="lastname" type="xs:string"/>
     </xs:all>
   </xs:complexType>
</xs:element>

Пример №2
В следующем примере декларируется, что элементы "firstname" и "lastname" могут появляться в любом порядке, и при этом оба эти элемента МОГУТ появляться ноль или один раз!


<xs:element name="person">
   <xs:complexType>
     <xs:all minOccurs="0">
       <xs:element name="firstname" type="xs:string"/>
       <xs:element name="lastname" type="xs:string"/>
     </xs:all>
   </xs:complexType>
</xs:element>