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

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

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

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

<?xml encoding='UTF8' version='1.0' ?>
<schema xmlns='http://www.systemsunion.com/2001/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</child2>
</parent>