Esistono delle restrizioni tra proprietà del modello logico e tipi di separazione TDS, ad esempio convalida del contenuto di gruppo o di composizione di gruppo. Le regole relative a tali opzioni sono descritte in Restrizioni per la nidificazione di tipi complessi.
Con tali regole è possibile garantire l'integrità del messaggio. E' necessario che una combinazione di tipo di separazione e convalida del contenuto di gruppo o di composizione di gruppo non crei un messaggio non chiaro per il programma di analisi TDS.
In TDS i valori predefiniti sono rispettati solo dagli elementi a lunghezza fissa.
Tipo di separazione | Utilizzo dei valori predefiniti |
---|---|
Delimitato da tag |
I valori predefiniti non sono mai rispettati. |
Lunghezza fissa |
I valori predefiniti sono rispettati nell'output da tutti gli elementi. Un elemento assente in cui non sono definiti valori predefiniti provoca un errore di scrittura. |
Delimitato da elementi a lunghezza variabile | I valori predefiniti sono rispettati solo dagli elementi a lunghezza fissa in output. E' necessario che per i valori a lunghezza fissa assenti sia disponibile un valore predefinito. Un elemento assente in cui non sono definiti valori predefiniti provoca un errore di scrittura. |
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 TDS. E' possibile scegliere se impostare tale avviso come messaggio di errore o di avvertenza oppure di informazioni mediante le preferenze di convalida. Se dalla serie di messaggi viene creato un dizionario e viene effettuato un tentativo di analisi di un messaggio TDS definito in modo da contenere tali elementi o attributi, si verificherà un errore di runtime.
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.
Durante l'analisi e la scrittura, l'interpretazione esatta di tali proprietà dipende dalla proprietà Separazione elementi dati del gruppo o del tipo complesso parent come riportato nella tabella riportata di seguito.
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.
Tipo di separazione | Interpretazione di Numero minimo ricorrenze e Numero massimo ricorrenze |
---|---|
Delimitato da tag |
Le proprietà Numero minimo ricorrenze e Numero massimo ricorrenze sono ignorate in modo efficace durante l'analisi e la scrittura. Durante l'analisi, il numero di ricorrenze è identificato dai tag nel messaggio. Durante la scrittura, il programma di scrittura emette tutte le ricorrenze nell'albero dei messaggi.
|
Tutti gli elementi delimitati | La proprietà Numero massimo ricorrenze viene utilizzata solo per l'analisi e la scrittura, insieme alla proprietà Delimitatore elemento ripetuto dell'elemento e alla proprietà
Elimina delimitatori dell'elemento assente del tipo parent. È consentito un numero variabile di ricorrenze (Numero minimo ricorrenze <> Numero massimo ricorrenze) se la proprietà Elimina delimitatori dell'elemento assente è impostata su Fine di tipo.
Se la proprietà Elimina delimitatori dell'elemento assente è impostata suMai, sono previste tutte le ricorrenze durante l'analisi e l'output durante la scrittura, sebbene l'analisi accetterà l'assenza degli elementi. Le ricorrenze facoltative (Numero minimo ricorrenze = 0) sono ignorate ed è previsto ugualmente un delimitatore durante l'analisi e un output durante la scrittura. E' consentita l'opzione sempre assente (Numero massimo ricorrenze = 0). Durante l'analisi non è previsto alcun delimitatore, né l'output durante la scrittura. E' consentito un numero non associato di ricorrenze (Numero massimo ricorrenze = -1) se il valore di Delimitatore elemento ripetuto è diverso dal valore Delimitatore. E' necessario che le ripetizioni terminino con il delimitatore o con il Carattere di terminazione di gruppo o con il valore indicato come Delimitatore del gruppo contenitore oppure con la fine del flusso di bit del messaggio. Durante la scrittura, il programma di scrittura emette tutte le ricorrenze nell'albero dei messaggi. |
Lunghezza fissa |
La proprietà Numero massimo ricorrenze viene utilizzata solo durante l'analisi e la
scrittura. In generale, durante l'analisi sono previste le ricorrenze indicate in Numero massimo ricorrenze e
durante la scrittura vengono emesse le ricorrenze indicate in Numero massimo ricorrenze se per gli elementi
mancanti vengono utilizzati i valori predefiniti. Il numero variabile di ricorrenze (Numero minimo ricorrenze <> Numero massimo ricorrenze) è ignorato e viene assunto il valore Numero massimo ricorrenze. La ricorrenza facoltativa (Numero minimo ricorrenze = 0) è ignorata e viene assunto il valore Numero massimo ricorrenze. E' consentita l'opzione sempre assente (Numero massimo ricorrenze = 0). Solo a lunghezza fissa. È consentito un numero non associato di ricorrenze (Numero massimo ricorrenze = -1) se l'elemento o il gruppo è l'ultimo child del gruppo parent e il gruppo termina con un Carattere di terminazione di gruppo o con il valore indicato come Delimitatore o Carattere di terminazione di gruppo del gruppo contenitore oppure con la fine del flusso di bit del messaggio. Durante la scrittura, il programma di scrittura emette tutte le ricorrenze nell'albero dei messaggi; se tale numero è minore del valore indicato in Numero minimo ricorrenze, verranno scritti valori predefiniti aggiuntivi. |
Delimitato da elementi a lunghezza variabile | Per gli elementi semplici a lunghezza fissa, vengono seguite le regole del tipo di separazione Lunghezza fissa riportate sopra con due differenze.
Per gli tutti i gruppi e gli elementi complessi e semplici a lunghezza variabile, vengono seguite le regole del tipo di separazione Tutti gli elementi delimitati riportate sopra. |
Modello dati | Le proprietà Numero minimo ricorrenze e Numero massimo ricorrenze sono ignorate in modo efficace durante l'analisi e la scrittura. Durante l'analisi, il modello è messo in corrispondenza il maggior numero di volte possibile.
Durante la scrittura, il programma di scrittura emette tutte le ricorrenze nell'albero dei messaggi. Durante l'analisi, se il modello di dati consente e si verifica una corrispondenza a lunghezza zero, viene aggiunto un elemento all'albero dei messaggi e la corrispondenza termina per evitare un loop infinito. È consentito un numero variabile di ricorrenze (Numero minimo ricorrenze <> Numero massimo ricorrenze). Sono consentite ricorrenze facoltative (Numero minimo ricorrenze = 0). E' consentita l'opzione sempre assente (Numero massimo ricorrenze = 0). E' consentito un numero non associato di ricorrenze (Numero massimo ricorrenze = -1). |