Sequenze e selezioni
In una definizione FSD è possibile impostare una sequenza fissa di record oppure un ordine arbitrario di record. In una sequenza fissa, tutti i record definiti devono apparire nell'ordine specificato. Questa è la struttura più comune, poiché per i file di testo è spesso richiesto che i dati vengano visualizzati secondo un ordine specificato.
I formati solo testo consentono ai record e ai campi di essere disposti in un ordine arbitrario o utilizzano indicatori per determinare la struttura dei record. Per queste strutture di dati è possibile utilizzare l'elemento 'choice' (selezione). Questo elemento determina il record migliore da usare per generare l'output sulla base della corrispondenza con modelli. La corrispondenza con modelli si basa sul confronto tra le lunghezze dei campi, i delimitatori di un campo, il numero di campi e qualsiasi valore valido specificato per il campo.
Numero di occorrenze
Gli elementi 'sequence', 'choice' e 'record' della definizione FSD consentono di specificare il numero di occorrenze previsto. I dati vengono convalidati dal processore FSD sulla base di questi elementi.
L'impostazione predefinita dell'attributo 'max-occurs' è 1. Questo significa che si può verificare una sola occorrenza per il record, la sequenza o la selezione corrispondente. Sebbene alcuni tipi di dati in formato solo testo possano richiedere un numero fisso diverso, generalmente è possibile specificare qualsiasi numero di occorrenze. Questa impostazione equivale al valore 0, in base a cui i record vengono elaborati dalla definizione FSD finché non ne viene rilevato uno non corrispondente.
L'attributo 'min-occurs' è usato esclusivamente a scopo di convalida e per la corrispondenza dei modelli con l'elemento 'choice'. Prima di passare al record successivo, il processore FSD confronta il numero di occorrenze con il numero minimo specificato dall'attributo 'min-occurs' e genera un errore se viene rilevato un numero di occorrenze troppo basso.