Элемент <xsd:attribute>
Группирует набор объявлений атрибутов таким образом, что их можно включить в качестве группы в определения сложных типов.
<attributeGroup
id = ID
name = NCName
ref = QName
{any attributes with non-schema Namespace...}>
Content: (annotation?), ((attribute | attributeGroup)*, anyAttribute?))
</attributeGroup>
Атрибуты
id
Идентификатор данного элемента. Значение id должно иметь тип ID и быть уникальным в пределах документа, содержащего этот элемент.Необязательно.
имя
Имя группы атрибутов, атрибуты которой включены в элемент attributeGroup или в элемент complexType. Имя не должно содержать двоеточий (NCName), как определено в спецификации пространств имен XML. Атрибуты Name и ref не могут присутствовать одновременно. Атрибут Name может присутствовать лишь в том случае, если группа атрибутов является потомком элемента schema.Необязательно.
ref
Эталонное имя группы атрибутов, атрибуты которой включены в элемент attributeGroup или в элемент complexType.Атрибуты Name и ref не могут присутствовать одновременно. Атрибут Ref может присутствовать лишь в том случае, если группа атрибутов не является дочерним элементом элемента schema.
Это значение должно быть полным именем (QName).
Необязательно.
Сведения об элементе
Количество вхождений |
Без ограничений |
Родительские элементы |
attributeGroup, complexType, schema, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent) |
Описание |
annotation, attribute, attributeGroup, anyAttribute |
Заметки
Группу атрибутов можно определять только как дочерний элемент элемента schema. В этом случае необходимо наличие атрибута name, который должен содержать элементы attribute, attributeGroup или anyAttribute, составляющие группу атрибутов.
Группа атрибутов может быть включена в attributeGroup или в complexType; в последнем случае обязательно наличие атрибута ref; элемент attributeGroup при этом должен быть пустым. См. следующий пример.
Элементы attributeGroup могут содержать другие элементы attributeGroup.
Пример
В следующем примере показана определенная группа атрибутов (myAttributeGroup), использованная в составном типе (myElementType).
<xs:attributeGroup name="myAttributeGroup">
<xs:attribute name="someattribute1" type="xs:integer"/>
<xs:attribute name="someattribute2" type="xs:string"/>
</xs:attributeGroup>
<xs:complexType name="myElementType">
<xs:attributeGroup ref="myAttributeGroup"/>
</xs:complexType>
В следующем примере показаны две определенные группы атрибутов (myAttributeGroupA и myAttributeGroupB), одна из которых включает в себя другую.
<xs:attributeGroup name="myAttributeGroupA">
<xs:attribute name="someattribute10" type="xs:integer"/>
<xs:attribute name="someattribute11" type="xs:string"/>
</xs:attributeGroup>
<xs:attributeGroup name="myAttributeGroupB">
<xs:attribute name="someattribute20" type="xs:date"/>
<xs:attributeGroup ref="myAttributeGroupA"/>
</xs:attributeGroup>
Другие ресурсы
Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 1: структуры» по адресу www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-all.