Che differenza c’è tra l’inclusione e l’importazione di un XML Schema in un altro XML Schema?

Utente HTML.it
chiede

Che differenza c’è tra l’inclusione e l’importazione di un XML Schema in un altro XML Schema?

Redazione HTML.it
risponde

L’inclusione di un XML Schema consente di rendere disponibile, all’interno dello schema corrente, definizioni di tipi ed elementi che fanno parte dello stesso namespace. In genere l’inclusione viene utilizzata per condividere definizioni di tipo tra più schemi e creare un certo livello di modularità. Ad esempio, se viene definito il seguente tipo complesso in un XML Schema

<xs:complexType name=”tipoLibro”>
<xs:sequence>
<xs:element name=”capitolo” type=”xs:string” minOccurs=”1″ maxOccurs=”unbounded”/>
</xs:sequence>
</xs:complexType>

è possibile includerlo in un altro XML Schema tramite una dichiarazione analoga alla seguente:

<xs:include schemaLocation=”tipi.xsd”>

L’importazione di uno XML Schema, invece, consente di rendere disponibile, all’interno dello schema corrente, tipi di dato ed elementi di un altro namespace. L’importazione avviene tramite la seguente dichiarazione:

<xs:import namespace=”http://www.dominio.it/xml/namespace1″ xsi:schemaLocation=” http://www.dominio.it/xml/namespace1 altroSchema.xsd”>