Элемент 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>