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