Элемент XML Schema redefine

Определение и использование

Элемент redefine позволяет重新定义当前 Schema из простых и сложных типов, групп и атрибутных групп из внешних файлов схемы.

Информация о элементе

Число出现的次数 Неограниченное
Родительский элемент schema
Содержимое annotation、attributeGroup、complexType、group、simpleType

Грамматика

<redefine
id=ID
schemaLocation=anyURI
любые атрибуты
>
(annotation|(simpleType|complexType|group|attributeGroup))*
</redefine>
Атрибуты Описание
id Дополнительные. Определяет уникальный ID для элемента.
schemaLocation Обязательные. Указание URI ссылки на положение schema документа.
любые атрибуты Дополнительные. Определяет любые другие атрибуты с non-schema命名空间.

Пример

Пример 1

Ниже представлен пример schema, Myschama2.xsd, в котором существуют элементы, определяемые Myschama1.xsd. Тип pname был重新定义。В соответствии с этим schema, элементы, ограниченные pname, должны заканчиваться элементом "country":

Myschema1.xsd:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="pname">
  <xs:sequence>
    <xs:element name="firstname"/>
    <xs:element name="lastname"/>
  </xs:sequence>
</xs:complexType>
<xs:element name="customer" type="pname"/>
</xs:schema>

Myschema2.xsd:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:redefine schemaLocation="Myschema1.xsd">
  <xs:complexType name="pname">
    <xs:complexContent>
      <xs:extension base="pname">
        <xs:sequence>
          <xs:element name="country"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:redefine>
</xs:element name="author" type="pname"/>
</xs:schema>