XML Schema redefine element

Definition and Usage

The redefine element allows the redefinition of simple and complex types, groups, and attribute groups obtained from external schema files within the current Schema.

Element information

Occurrence Unrestricted
Parent element schema
Content annotation, attributeGroup, complexType, group, simpleType

Syntax

<redefine
id=ID
schemaLocation=anyURI
any attributes
>
(annotation|(simpleType|complexType|group|attributeGroup))*
</redefine>
Attribute Description
id Optional. Specifies the unique ID of the element.
schemaLocation Required. The URI reference to the schema document location.
any attributes Optional. Specifies any other attributes with a non-schema namespace.

Instance

Example 1

The following example demonstrates a schema, Myschama2.xsd, which contains elements defined by Myschama1.xsd. The pname type is redefined. According to this schema, elements constrained by pname must end with the "country" element:

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>