XML Schema redefine-Element
Definition und Verwendung
Der redefine-Element ermöglicht die Neudefinierung von einfachen und komplexen Typen, Gruppen und Attributgruppen, die aus externen Schema-Dateien abgerufen werden, im aktuellen Schema.
Elementinformation
Auftretenshäufigkeit | Unbeschränkt |
Übergeordneter Element | schema |
Inhalt | annotation、attributeGroup、complexType、group、simpleType |
Grammatik
<redefine id=ID schemaLocation=anyURI jegliche Attribute > (annotation|(simpleType|complexType|group|attributeGroup))* </redefine>
Eigenschaft | Beschreibung |
---|---|
id | Optional. Definiert eine eindeutige ID für das Element. |
schemaLocation | Erforderlich. URI-Referenz zur Dokumentposition des Schemas. |
jegliche Attribute | Optional. Definiert jede andere Eigenschaft mit einer non-schema Namensraum. |
Beispiel
Beispiel 1
Der folgende Beispiel zeigt eine Schema, Myschama2.xsd, in dem Elemente vorhanden sind, die von Myschama1.xsd definiert werden. Der Typ "pname" wird neu definiert. Gemäß diesem Schema müssen Elemente, die von "pname" eingeschränkt sind, mit einem "country"-Element enden:
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>