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

См. также

Ссылки

Справочник по XML-схемам (XSD)

Элементы XML-схемы