Данные без разделителей

файл считается «истинно плоским», если в файле данных отсутствуют разделители и поля имеют фиксированную ширину. В этом случае для определения длины каждого поля используется атрибут max-length в элементе «Field».

В данных фиксированной длины, значения данных часто дополнятся для обеспечения расположения полей в правильных позициях. Для этого используется атрибут trailing-chars. Этот атрибут определяет символы, которые можно включить после фактических данных и которые будут автоматически отброшены перед записью в формате XML. Кроме того, обработчик FSD использует атрибут trailing-chars для определения подходящего символа-заполнителя при преобразовании данных из формата XML обратно в плоский формат.

Пример FSD с полями фиксированной длины:

<?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>

Пример входных данных для этого FSD:

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

Пример выходных данных для этого 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>