Il prefisso "xsi" è il prefisso dello spazio dei nomi utilizzato per convenzione per lo spazio dei nomi dello schema XML
per istanze. I documenti XML sono in grado di contenere elementi che dispongono di un attributo
xsi:type. Ciò fornisce un tipo di dati esplicito per l'elemento.
Il programma di analisi MRM XML rileva attributi xsi:type nel documento XML.
Modifica il tipo dati dell'elemento in modo appropriato e aggiunge l'attributo xsi:type nell'albero dei messaggi.
Il programma di scrittura MRM XML rileva attributi xsi:type nell'albero dei messaggi.
Emette gli attributi xsi:type secondo la proprietà della serie di messaggi XML Wire Format Politica di emissione per gli attributi xsi:type. Ad esempio, è possibile rimuovere gli attributi xsi:type, emetterli su tutti gli elementi o secondo le regole specificate nello standard SOAP.
Se è abilitata la convalida per un flusso di messaggi di WebSphere Message Broker, la logica di convalida rileva gli attributi xsi:type e li utilizza per modificare la convalida dell'elemento. Convalida inoltre i valori degli attributi xsi:type che utilizzano le regole descritte nella sezione XML Schema Part 1: Structures del sito Web di Consortium (W3C).
E' inoltre importante ricordare numerosi punti per l'analisi e la scrittura di documenti
XML in cui sono contenuti attributi xsi:type.
- Per rilevare e utilizzare attributi xsi:type, è necessario abilitare lo spazio dei nomi nella serie di messaggi. Per abilitare lo spazio dei nomi
in una serie di messaggi, selezionare la proprietà della serie di messaggi Utilizza spazi dei nomi.
- Se nel valore dell'attributo xsi:type è contenuto un prefisso dello spazio dei nomi, tale
prefisso verrà espanso in un URI completo dal programma di analisi MRM XML.
Se lo stesso attributo xsi:type viene emesso successivamente dal programma di scrittura MRM XML, lo stesso prefisso non verrà utilizzato in modo automatico per il valore. E' possibile controllare i
prefissi utilizzati nell'output utilizzando l'elenco Impostazioni spazi dei nomi nelle proprietà della serie di messaggi XML Wire Format. Se non viene fornito alcun prefisso, il programma di scrittura
XML assegnerà un prefisso predefinito.
- Se l'attributo xsi:type di un elemento non risolve un tipo nel
modello, il funzionamento dipende dall'attivazione o meno della convalida MRM.
Se la convalida non è in corso, in MRM verrà presunto il tipo dell'elemento dichiarato
nel modello e l'operazione proseguirà. Se la convalida è in corso, verrà generata un'eccezione di convalida.
- Se è attiva la convalida MRM, è necessario che qualsiasi attributo xsi:type richiesto sia presente nell'albero dei messaggi durante l'esecuzione della convalida. Un attributo
xsi:type è richiesto quando il relativo valore è differente dal tipo di dati dell'elemento
come definito nel modello del messaggio (ciò si verifica più comunemente quando si utilizza una derivazione del tipo di schema XML).
- Se la convalida viene eseguita in un messaggio di input, il programma di analisi garantisce che l'attributo xsi:type venga visualizzato nell'albero dei messaggi, come riportato sopra.
- Se la convalida viene eseguita in un messaggio di output, accertarsi che nell'albero dei messaggi venga visualizzato l'attributo xsi:type corretto. Accertarsi che gli attributi
xsi:type richiesti vengano copiati dall'albero dei messaggi di input
nell'albero dei messaggi di output o che vengano creati in modo esplicito nell'albero dei messaggi di output.
- Se si utilizzano tipi semplici xsd:unions, è possibile utilizzare un attributo xsi:type
per l'instradamento del programma di analisi MRM XML durante la risoluzione dell'unione.
- Se si utilizza WebSphere
Message Broker Versione
6.0, è possibile che si verifichino delle modifiche di funzionamento se è stata effettuata la migrazione da una versione precedente non in grado di rilevare attributi xsi:type. Ad esempio, in WebSphere
Message Broker Versione
6.0, gli attributi
xsi:type non vengono più gestiti come attributi a definizione automatica e vengono visualizzati nell'albero dei messaggi con il nome ‘type’ anziché ‘@type’.
Se la propria logica del flusso di messaggi rileva gli attributi xsi:type nell'albero dei messaggi, si consiglia di modificare il flusso di messaggi in modo da essere compatibili con il nuovo funzionamento. Per mantenere la logica di una versione precedente di WebSphere Message Broker nei propri flussi di
messaggi, fare riferimento a Note sulla migrazione del flusso di messaggi.
Per ulteriori informazioni sugli attributi xsi:type, fare riferimento alla sezione XML Schema Part
0: Primer del sito Web di Consortium (W3C).