Séquences et sélections

Les fichiers FSD permettent au schéma de définir des séquences d'enregistrements fixes ou un ordre arbitraire. Dans une séquence fixe, chaque enregistrement défini doit apparaître dans l'ordre spécifié. Ceci correspond au type de construction le plus commun pour les fichiers FSD. En effet, pour la plupart des structures de données plates, les données apparaissent dans un ordre spécifié.

Un format de données plates permettent aux enregistrements et champs d'adopter un ordre arbitraire ou dans lesquels les marqueurs présents dans les données déterminent la structure des enregistrements. Vous pouvez utiliser l'élément 'sélection' pour ces structures de données. L'élément sélection effectue un filtrage pour déterminer le meilleur enregistrement à utiliser pour générer les données de sortie. Ce filtrage compare les longueurs de champs, les séparateurs de champs, le nombre de champs et toute valeur valide spécifiée pour le champ.

Remarque: L'élément sélection a un impact sur la performance de traitement des données, c'est pourquoi nous recommandons de l'utiliser en dernier ressort.

Nombre d'occurrences

Les éléments séquence, sélection et enregistrement de la définition FSD permettent de spécifier le nombre d'occurrences prévues. Le processeur FSD se sert de cette information pour parcourir et valider les données.

L'attribut 'max-occurs' est à 1 par défaut. Cela signifie qu'une seule occurrence de la séquence, sélection ou enregistrement donné devrait survenir. Il pourra s'agir d'un autre nombre fixe pour certains types de données plates, mais dans de nombreux cas tout nombre d'occurrences sera valide. Vous pouvez le spécifier en utilisant la valeur 0, auquel cas la définition FSD traite les enregistrements jusqu'à ce qu'elle rencontre un enregistrement inapproprié.

L'attribut 'min-occurs' ne sert qu'à des fins de validation (et facilite le filtrage à l'aide de l'élément sélection). Avant de passer à l'enregistrement suivant, le processeur FSD vérifie le nombre d'occurrences d'après le nombre minimum spécifié par 'min-occurs'. Il génère une erreur si le nombre d'occurrences identifiées est insuffisant.