XML Schema redefine-element
Definitie en gebruik
Het element 'redefine' staat toe om eenvoudige en complexe typen, groepen en eigenschapsgroepen die zijn opgehaald uit externe schema-bestanden, opnieuw te definiëren in het huidige Schema.
Elementinformatie
Voorkomst | Onbeperkt |
Hoofdcomponent | schema |
Inhoud | annotation, attributeGroup, complexType, group, simpleType |
Syntax
<redefine id=ID schemaLocation=anyURI enkele eigenschappen > (annotation|(simpleType|complexType|group|attributeGroup))* </redefine>
Eigenschappen | Beschrijving |
---|---|
id | Optioneel. Bepaal het unieke ID van dit element. |
schemaLocation | Verplicht. URI-referentie naar de locatie van het schema-document. |
enkele eigenschappen | Optioneel. Bepaal elke andere eigenschap met een non-schema naamruimte. |
Voorbeeld
Voorbeeld 1
Hier is een voorbeeld dat een schema, Myschama2.xsd, waarin elementen bestaan die worden gedefinieerd door Myschama1.xsd, toont. De type 'pname' wordt opnieuw gedefinieerd. Volgens dit schema moeten elementen die worden beperkt door 'pname', eindigen met het element '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>