Dati delimitati nella definizione FSD

I record e i campi possono avere un elemento con funzione di delimitatore che separa il record o il campo nei dati. Quando non è specificato un delimitatore, i dati vengono considerati a larghezza fissa, utilizzando l'attributo di lunghezza maggiore.

L'esempio sottostante mostra campi e record con i delimitatori:

<?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 genera la seguente struttura XML:

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

Un esempio di file di input per questa FSDdefinizione è:

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

e un esempio di file di output è:

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

La definizione sopra riportata contrassegna la fine di tutti i record con ritorno a capo/avanzamento riga (questo è il termine convenzionale degli indicatori di riga nei sistemi operativi Microsoft). Definisce quindi due campi per ciascun record. Il primo usa la virgola come delimitatore, il secondo è l'ultimo campo del record e quindi usa il delimitatore specificato per il record come proprio delimitatore.