Элемент anyAttribute позволяет расширять XML документ атрибутами, не определенными схемой.
- Родительские элементы: complexType, restriction (simpleContent и complexContent), extension (simpleContent и complexContent), attributeGroup
Синтаксис элемента
<anyAttribute
id=идентификатор
namespace=пространствоИмен
processContents=lax | skip | strict
любые атрибуты
>
(annotation?)
</anyAttribute>
(Знак ? указывает на то, что элемент может появляться ноль или один раз внутри элемента anyAttribute.)
Атрибуты элемента
Атрибут | Описание |
---|---|
id | Не обязательный. Определяет уникальный идентификатор для элемента |
namespace | Не обязательный. Определяет пространство имен, содержащее элементы, которые можно использовать. Может принимать следующие значения:
|
processContents | Не обязательный. Определяет, как XML процессор должен обрабатывать валидацию по отношению к элементам, определенным данным элементом. Может принимать следующие значения:
|
любые атрибуты | Не обязательный. Любые другие атрибуты вне пространства имен схемы |
Пример использования
Следующий пример демонстрирует декларацию элемента "person". Благодаря использованию элемента <anyAttribute>, можно добавлять элементу "person" любые атрибуты:
<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>