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>