Элемент <xsd:redefine>
Позволяет переопределить в текущей схеме простые и сложные типы, группы и группы атрибутов, полученные из внешних файлов схем.
<redefine
id = ID
schemaLocation = anyURI
{any attributes with non-schema Namespace}...>
Content: (annotation | (simpleType | complexType | group |
attributeGroup))*
</redefine>
Атрибуты
id
Идентификатор данного элемента. Значение id должно иметь тип ID и быть уникальным в пределах документа, содержащего этот элемент.Необязательно.
schemaLocation
URI-ссылка на расположение схемы документа.Обязательный.
Сведения об элементе
Количество вхождений |
Без ограничений |
Родительские элементы |
|
Описание |
Примечания
Элемент redefine требует, чтобы внешние элементы существовали в том же целевом пространстве имен, что и схема переопределения. Схемы без пространства имен также можно переопределить с помощью элемента redefine, переопределенные компоненты становятся частью целевого пространства имен схемы.
Определения внутри элемента redefine должны использовать свои текущие определения в качестве основного определения типа. Определения группы атрибутов и определения группы моделей должны включать ровно одну ссылку на самих себя. Не все из определений переопределенной схемы документа должны быть переопределены.
Переопределение элементов может привести к непредсказуемым результатам (например, некорректные определения) в типах определений, основанных на переопределенных определениях.
Пример
В следующем примере приведена схема v2.xsd и элементы, указанные схемой v1.xsd. Тип personName переопределен. В соответствии с этой схемой элементы, ограниченные типом personName, могут завершиться элементом generation.
<xs:complexType name="personName">
<xs:sequence>
<xs:element name="title" minOccurs="0"/>
<xs:element name="forename" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="addressee" type="personName"/>
<xs:redefine schemaLocation="v1.xsd">
<xs:complexType name="personName">
<xs:complexContent>
<xs:extension base="personName">
<xs:sequence>
<xs:element name="generation" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:redefine>
<xs:element name="author" type="personName"/>
Другие ресурсы
Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 1: структуры» по адресу www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-all.