XML Schema 'redefine' element
Definition and Usage
The 'redefine' element allows redefining 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>
Attributes | Description |
---|---|
id | Optional. Specifies a unique ID for 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>