Вы здесь

XSD элемент group

Элемент group используется, чтобы определить группу элементов для использования в определениях сложных типов.

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

<group
 id=идентификатор
 name=NCName
 ref=QName
 maxOccurs=целоеЧисло | unbounded
 minOccurs=целоеЧисло
 любые атрибуты
 >

 (annotation?, (all | choice | sequence)?)

</group>

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

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

В следующем примере определяется группа, содержащая последовательность из четырех элементов, которая затем используется в определении сложного типа:


<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:group name="custGroup">
   <xs:sequence>
     <xs:element name="customer" type="xs:string"/>
     <xs:element name="orderdetails" type="xs:string"/>
     <xs:element name="billto" type="xs:string"/>
     <xs:element name="shipto" type="xs:string"/>
   </xs:sequence>
</xs:group>

<xs:element name="order" type="ordertype"/>

<xs:complexType name="ordertype">
   <xs:group ref="custGroup"/>
   <xs:attribute name="status" type="xs:string"/>
</xs:complexType>

</xs:schema>