Definição de dados delimitados em FSD

Registros e campos podem ter um especificador separador. Esse especificador delimita o registro ou campo nos dados. Quando um delimitador não é especificado, os dados são tratados como largura fixa, usando o atributo de comprimento máximo do elemento "field".

O exemplo abaixo mostra campos e registros com separadores:

<?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' record-sep='\r\n'>
						<field name='child1' field-sep=','/>
								<field name='child2'/>
						</record>
				</sequence>
		</schema>

e irá gerar a seguinte estrutura XML:

<parent>
		<child1/> 
		<child2/>
</parent>

A entrada de exemplo para esse FSD é:

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

e a saída de exemplo gerada:

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

O FSD acima marca cada registro como finalizado com um par de alimentadores de linha de retorno de carro (que é o marcador padrão de final de linha dos sistemas operacionais da Microsoft). Isso define dois campos para cada registro. O primeiro usa a vírgula como delimitador; o segundo é o último campo no registro e, portanto, usa o delimitador especificado para o registro como seu.