Elemento XML Schema redefine

Definizione e uso

L'elemento redefine consente di ridefinire all'interno dello schema semplici e complessi tipi, gruppi e gruppi di attributi prelevati da file di schema esterni.

Informazioni sull'elemento

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

Sintassi

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

Esempio

Esempio 1

Esempio di schema, Myschama2.xsd, in cui esistono elementi definiti da Myschama1.xsd. Il tipo pname viene ridefinito. 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>