XSD элемент attributeGroup

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

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

Синтаксис элемента


<attributeGroup
 id=идентификатор
 name=NCName
 ref=QName
 любые атрибуты
 >

(annotation?), ((attribute | attributeGroup)*, anyAttribute?))

</attributeGroup>

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

Атрибуты элемента

АтрибутОписание
idНе обязательный. Определяет уникальный идентификатор для элемента
nameНе обязательный. Определяет имя группы атрибутов. Нельзя использовать вместе с атрибутом ref
refНе обязательный. Определяет ссылку на поименованную группу атрибутов. Нельзя использовать вместе с атрибутом name
любые атрибутыНе обязательный. Любые другие атрибуты вне пространства имен схемы

Пример использования

В следующем примере декларируется группа атрибутов "personattr", которая затем используется в сложном типе "person".


<xs:attributeGroup name="personattr">
   <xs:attribute name="attr1" type="string"/>
   <xs:attribute name="attr2" type="integer"/>
</xs:attributeGroup>

<xs:complexType name="person">
   <xs:attributeGroup ref="personattr"/>
</xs:complexType>