Données non délimitées

Lorsqu'un fichier de données ne comporte aucun séparateur et que ses champs ont une largeur fixe, on considère que ce fichier est réellement "plat". Dans ce cas, c'est l'attribut de champ max-length qui permet de définir la longueur de chaque champ.

Dans les données à longueur fixe, il est souvent nécessaire de remplir les positions inutilisées des valeurs de données afin que les champs commencent à l'endroit approprié. Ceci est géré par l'attribut trailing-chars. Cet attribut définit les caractères qui peuvent apparaître après les données réelles et qui seront automatiquement supprimés de ces données avant que celles-ci soient converties en XML. De plus, le processeur FSD utilisera l'attribut trailing-chars pour déterminer un caractère de remplissage approprié au moment de reconvertir les données XML en format plat.

Voici un exemple de FSD utilisant des champs de longueur fixe :

<?xml encoding='UTF-8' version='1.0' ?>
<schema xmlns='http://www.infor.com/2017/TD/SSTransform/fsd/' version='1.0'>
  <sequence output='no'>
    <record max-occur='0' name='parent'>
      <field name='child1' max-length='20' trailing-chars=' '/>
      <field name='child2' max-length='20' trailing-chars=' '/>
    </record>
  </sequence>
</schema>

Voici un exemple de données d'entrée pour ce FSD :

Child Data 1
Child Data 2
Child Data 3
Child Data 4

et de données de sortie pour ce FSD :

<parent>
  <child1>Child 1 Data</child1>
  <child2>Child 2 Data</child2>
</parent>
<parent>
  <child1>Child 3 Data</child1>
  <child2>Child 4 Data></child>
</parent>