Custom Wire Format: relazione con il modello logico

Di seguito vengono discusse le restrizioni esistenti per i messaggi definiti utilizzando un formato CWF in relazione al modello logico.

Composizione

Un messaggio CWF viene emesso sempre con gli elementi nella sequenza specificata nella definizione del modello del messaggio logico. Tuttavia, non è sempre necessario specificare l'ESQL che crea gli elementi in tale sequenza. Per ciascun valore della proprietà Composizione del tipo vengono fornite le regole riportate di seguito per la codifica ESQL.

Sequenza
E' necessario creare il messaggio di output per mettere in corrispondenza la sequenza elementi/gruppi nel messaggio. Di solito è possibile effettuare tale operazione utilizzando le istruzioni SET di ESQL per assegnare un valore a ciascun elemento o tipo. La prima istruzione SET imposta il valore del primo elemento o tipo nel messaggio, la seconda istruzione SET imposta il valore per il secondo elemento o tipo e così via. E' possibile variare tale sequenza di istruzioni utilizzando le istruzioni ATTACH, CREATE e MOVE di ESQL.

Se gli elementi o i tipi dispongono di valori predefiniti e il messaggio non viene creato nella sequenza corretta, in tali elementi creati dalla sequenza saranno contenuti i valori predefiniti anziché i valori impostati. Ciò si verifica poiché si presume che gli elementi creati dalla sequenza siano a definizione automatica e per il formato CWF questi vengono eliminati quando il messaggio viene scritto nel flusso di bit.

Serie ordinata
E' necessario creare il messaggio di output per mettere in corrispondenza la sequenza degli elementi nel messaggio. Di solito è possibile effettuare tale operazione utilizzando le istruzioni SET di ESQL per assegnare un valore a ciascun elemento. La prima istruzione SET imposta il valore del primo elemento nel messaggio, l'istruzione SET successiva imposta il valore per il secondo elemento e così via. E' possibile variare tale sequenza di istruzioni utilizzando le istruzioni ATTACH, CREATE e MOVE di ESQL.

Se gli elementi dispongono di valori predefiniti e il messaggio non viene creato nella sequenza corretta, in tali elementi creati dalla sequenza saranno contenuti i valori predefiniti anziché i valori impostati. Ciò si verifica poiché si presume che gli elementi creati dalla sequenza siano a definizione automatica e per il formato CWF questi vengono eliminati quando il messaggio viene scritto nel flusso di bit.

Serie non ordinata
E' possibile creare elementi del messaggio di output in qualsiasi sequenza. In fase di output, gli elementi verranno scritti nell'ordine specificato nella definizione del modello del messaggio logico.
Tutto
E' possibile creare elementi del messaggio di output in qualsiasi sequenza. E' necessario che ciascun elemento sia presente una sola volta (vale a dire che non sia ripetuto). In fase di output, gli elementi verranno scritti nell'ordine specificato nella definizione del modello del messaggio logico.
Scelta
Non è possibile risolvere una scelta unicamente dai dati. E' necessario che il programma di ricezione interpreti i dati e decida l'opzione di scelta contenuta dall'istanza del messaggio. Tale elaborazione è nota come gestione di una scelta non risolta. Il primo riferimento nell'applicazione a uno qualsiasi degli elementi di scelta risolve la scelta con l'opzione in cui è contenuto tale elemento.
Messaggio
Nel formato CWF non è disponibile alcuna modalità per identificare, all'interno del flusso di bit di un messaggio di input, i messaggi incorporati da visualizzare nel messaggio di input. I meccanismi per la risoluzione dei messaggi incorporati sono discussi nell'argomento Custom Wire Format: messaggi Multipart .

Convalida contenuto

Il formato CWF è fisso ed è necessario che in un messaggio siano presenti tutti gli elementi. Quindi, [Convalida contenuto] è ignorato. In fase di output, è necessario che tutti gli elementi siano impostati in modo esplicito (ad esempio, utilizzando le istruzioni SET di ESQL), in modo implicito (utilizzando la funzionalità di copia di albero) oppure che dispongano di un valore predefinito.

Valori predefiniti

In fase di output di un messaggio CWF nel dominio MRM, qualsiasi elemento o ricorrenza di un elemento per il quale non è impostato un valore (in modo esplicito o implicito) eredita il valore predefinito specificato dell'elemento. Se non è specificato alcun valore predefinito, verrà generata un'eccezione.

Numero minimo ricorrenze e Numero massimo ricorrenze

Le proprietà logiche Numero minimo ricorrenze e Numero massimo ricorrenze specificano il numero consentito di ricorrenze di un elemento o di un gruppo in un messaggio. Vengono utilizzate durante l'analisi e la scrittura dei messaggi e durante la convalida del contenuto di un messaggio.

In CWF, durante l'analisi sono previste le ricorrenze indicate in Numero massimo ricorrenze e durante la scrittura vengono emesse le ricorrenze indicate in Numerp massimo ricorrenze se per gli elementi mancanti vengono utilizzati i valori predefiniti.

Tale funzionamento è tuttavia sostituito se è impostata la proprietà Riferimenti ripetizioni, che indica che viene fornito il numero di ricorrenze anziché l'elemento intero presente in precedenza nel messaggio. In tal caso, la proprietà Numero massimo ricorrenze è ignorata.

Durante la convalida, le proprietà Numero minimo ricorrenze e Numero massimo ricorrenze sono utilizzate per verificare che il contenuto dell'albero dei messaggi corrisponda al modello.

Tipi semplici - unioni ed elenchi

Le unioni e gli elenchi sono concetti specifici di XML. Un elemento o un attributo di un tipo semplice che costituisce un elenco o un'unione provoca un'avvertenza di errore di elenco delle attività se nella serie di messaggi è presente un formato fisico CWF. E' possibile scegliere se impostare tale avviso come messaggio di errore o di avvertenza oppure di informazioni mediante le preferenze di convalida. Il programma di creazione del dizionario omette i messaggi definiti in modo da contenere tali elementi o attributi dalla sezione CWF del dizionario.

Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ad10490_