Elemento redefine XML Schema

Definizione e uso

L'elemento redefine permette di ridefinire all'interno dello schema attuale i tipi semplici e complessi, i gruppi e i gruppi di attributi acquisiti da file di schema esterni.

Informazioni sull'elemento

Frequenza di apparizione Senza limiti
Elemento padre schema
Contenuto annotation, attributeGroup, complexType, group, simpleType

Sintassi

<redefine
id=ID
schemaLocation=anyURI
qualsiasi attributo
>
(annotation|(simpleType|complexType|group|attributeGroup))*
</redefine>
Proprietà Descrizione
id Opzionale. Specifica un ID unico per l'elemento.
schemaLocation Obbligatorio. Referenza URI della posizione del documento schema.
qualsiasi attributo Opzionale. Specifica qualsiasi altra proprietà con namespace non schema.

Esempio

Esempio 1

Esempio di schema, Myschama2.xsd, in cui esistono elementi definiti da Myschama1.xsd. Il tipo pname viene rid definito. Secondo questo schema, gli elementi vincolati da pname devono terminare con l'elemento "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>