Элементы attributeGroup и anyAttribute
Элемент attributeGroup используется для создания группы объявлений атрибутов, используемых в определениях комплексного типа.
<префикс:attributeGroup
id = ID
name = NCName
ref = QName
>
(annotation?),((attribute | attributeGroup)*,anyAttribute?))
</префикс:attributeGroup>
Необязательный атрибут id задает уникальный идентификатор элемента. Атрибуты name и ref имеют тот же смысл, что и для элемента group.
Пример использования элемента attributeGroup:
<xs:attributeGroup name="personAttrs">
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="age" type="xs:positiveInteger"/>
</xs:attributeGroup>
…
<xs:complexType name="person">
<xs:attributeGroup ref="personAttrs"/>
</xs:complexType>
В этом примере в комплексном типе (person личность) используется определенная ранее группа атрибутов personAttrs для имени и возраста.
Элемент anyAttribute позволяет расширить документ XML атрибутами, которые не определены в схеме, и имеет следующий формат:
<префикс:anyAttribute
id = ID
namespace = ((##any | ##other) | List (anyURI |
(##targetNamespace | ##local))) : ##any
processContents = (strict | lax | skip) : strict
>
(annotation?)
</префикс:anyAttribute>
Атрибуты id, namespace и processContents в этом элементе имеют тот же смысл, что и в элементе any.
Пример использования элемента anyAttribute:
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:anyAttribute>
</xs:complexType>
</xs:element>
С помощью элемента anyAttribute можно добавить любое число атрибутов в элементе person.
Дата добавления: 2015-03-20; просмотров: 630;