Considerazioni sull'ordine degli elementi figlio
Requisiti per l'intestazione in un file flat
Esistono due scenari correlati ai file flat delimitati per i quali si applicano considerazioni speciali quando si imposta la proprietà Ordine figlio . Il primo riguarda le situazioni in cui il documento file flat presenta un'intestazione, un corpo e, facoltativamente, una pagina di riepilogo. In questi scenari è necessario rispettare i seguenti requisiti:
È necessario impostare la proprietà Child Order del record radice (delimitato) dell'intestazione su Postfix.
Se è presente un trailer, è necessario impostare la proprietà Child Order del record radice (delimitato) del corpo su Postfix.
Se non è presente un trailer, è possibile impostare la proprietà Child Order del record radice (delimitato) del corpo su Prefisso, InFix o Postfix.
Se è presente un trailer, è possibile impostare la proprietà Child Order del record radice (delimitato) del trailer su Prefisso, InFix o Postfix.
È possibile impostare la proprietà Child Order di record subordinati delimitati dell'intestazione, del corpo e del trailer su Prefisso, InFix o Postfix.
Il secondo scenario correlato ai file flat delimitati e alla proprietà Child Order è che questa proprietà deve essere impostata in base a ciò che i componenti di runtime prevedono per i nodi. L'impostazione corretta per la proprietà Child Order potrebbe non essere evidente per i nodi radice e di gruppo, come illustrato negli scenari seguenti:
Nodo radice. Considerare un tipico file flat in cui la struttura è costituita da record seguiti da una combinazione CR/LF. Il delimitatore separa i record nel file e la sequenza è solitamente record, delimitatore, record, delimitatore e così via. In questo caso, il delimitatore segue sempre i dati, che corrisponde a un'impostazione della proprietà Ordine figlio di Postfix.
Nodi di gruppo. I nodi di gruppo visualizzati nella rappresentazione BizTalk Server ed XSD dello schema non sono esplicitamente presenti nella rappresentazione file flat del messaggio di istanza. Considerare un ordine di acquisto (PO) contenente un insieme di record per ogni voce, record che si ripetono numerose volte per rappresentare più voci in un unico ordine di acquisto. Lo schema per tale messaggio include probabilmente un nodo denominato LineItems da usare come contenitore (talvolta concettuale) per il set ripetuto: nella rappresentazione file flat del messaggio di istanza, il contenitore LineItems è di natura concettuale, rappresentato dalla sequenza appropriata di dati e delimitatori; nella rappresentazione XML del messaggio di istanza, il contenitore LineItems è presente in modo esplicito sotto forma di elemento LineItems in XML.
Considerare un messaggio contenente un nodo radice e solo un nodo di gruppo. È facile vedere il punto in cui l'ultimo delimitatore nel flusso di input andrà a far parte del nodo radice. Pertanto la sequenza dati/delimitatore nel ciclo concettuale consisterà semplicemente in uno o più record di voci. Solo in caso di più record di voci è opportuno un delimitatore per separarli. In tal caso il numero di delimitatori corrisponde a uno in meno rispetto alle serie di elementi delimitati e i delimitatori vengono posizionati tra gli elementi delimitati in una struttura nota come Infisso.
Vedere anche
- Considerazioni sui record delimitati
- Ordine figlio (proprietà node degli schemi di file flat) nelle linee guida dell'interfaccia utente e informazioni di riferimento sullo spazio dei nomi dell'API per sviluppatori