Sequences (Sequências) e Choices (Escolhas)
No FSD, você pode definir sequências de registros fixas ou em ordem arbitrária. Sequência fixa é aquela em que cada registro definido deve estar na ordem especificada. É a construção mais comum em FSD, já que a maioria das estruturas de dados de formato simples é projetada para receber os dados em uma ordem especificada.
Um formato de dados simples é onde os registros e campos são especificados em uma ordem arbitrária ou onde os marcadores nos dados determinam a estrutura dos registros. Você pode usar o elemento "choice" (escolha) para essas estruturas de dados. A conciliação de padrões é executada por esse elemento para determinar o melhor registro a ser usado para gerar saída. A conciliação de padrões compara comprimentos de campo, os delimitadores de um campo, o número de campos e qualquer valor válido especificado para o campo.
Número de ocorrências
O número esperado de ocorrências é especificado usando os elementos "sequence" (sequência), "choice" (escolha) e "record" (registro) no FSD. Os dados são validados pelo processador FSD usando estas informações.
Por default, o atributo 'max-occurs’ está definido como 1. Isso significa que os elementos "record", "sequence" ou "choice" só podem estar presentes uma vez. Para alguns tipos de dados de formato simples, pode ser um outro número fixo; porém, em muitos casos, qualquer número de ocorrências é válido. Isso pode ser especificado com o uso do valor 0 que determina que os registros são processados pelo FSD até que um registro não coincidente seja encontrado.
O atributo min-occurs (ocorr-mín.) é usado simplesmente para fins de validação e para a conciliação de padrões usando o elemento "choice”. Antes de passar para o próximo registro, o processador FSD verifica o número de ocorrências em relação ao número mínimo especificado por 'min-occurs'. Isso gera um erro caso sejam encontradas muito poucas ocorrências.