In un file di definizione dei messaggi è possibile utilizzare gli oggetti di modello del messaggio definiti in un altro file di definizione dei messaggi. Con uno schema XML è possibile eseguire tale operazione mediante due meccanismi: importa e includi. Gli spazi dei nomi dei due file determinano se utilizzare il comando importa o includi.
Il file di destinazione dispone di uno spazio dei nomi di destinazione | Il file di destinazione non dispone di uno spazio dei nomi di destinazione | |
---|---|---|
Il file parent dispone di uno spazio dei nomi di destinazione | xsd:import | xsd:include1 |
Il file parent non dispone di uno spazio dei nomi di destinazione | xsd:import | xsd:include |
Quando sono utilizzati i comandi importa o includi, è possibile utilizzare gli oggetti globali del file di destinazione nel file parent. Ad esempio, è possibile fornire a un elemento nel file parent un tipo complesso definito nel file di destinazione.
Lo spazio dei nomi degli oggetti nel file di destinazione viene mantenuto nel file parent, con l'eccezione notata nella tabella precedente del file dello spazio dei nomi di destinazione che include un file di spazio dei nomi notarget. Tale eccezione è denominata talvolta l'effetto spazio dei nomi Chameleon.
Gli spazi dei nomi Chameleon dispongono di supporto limitato quando sono utilizzati con il dominio MRM. Quando esistono dei riferimenti nel file parent, gli oggetti nel file di destinazione vengono visualizzati nello spazio dei nomi del file parent, ma vengono assegnate informazioni sul formato fisico predefinite. Ciò significa che nel file parent non sono disponibili le informazioni sul formato fisico definite nel file di destinazione. Nel dominio MRM utilizzare gli spazi dei nomi Chameleon solo per modellare messaggi XML in cui le informazioni sul formato fisico non sono diverse dalle impostazioni predefinite.
Lo schema XML fornisce una variazione di xsd:include denominata xsd:redefine, non supportata da WebSphere Message Broker. L'utilizzo di xsd:redefine genera un errore di elenco di attività. E' disponibile un Quick Fix per convertire le ricorrenze di xsd:redefine in xsd:include.