Définition de données délimitées dans FSD

Vous pouvez spécifier un séparateur pour les enregistrements et les champs. Ce séparateur délimite l'enregistrement ou le champ au sein des données. Si vous ne spécifiez pas de séparateur, les données sont traitées comme ayant une largeur fixe, selon l'attribut max-length de l'élément champ.

L'exemple ci-dessous montre des champs et des enregistrements avec séparateurs :

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

et génère la structure XML suivante :

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

Exemple d'entrée pour cette définition FSD :

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

et exemple de sortie générée :

<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 définition ci-dessus marque chaque enregistrement comme se terminant par une paire retour chariot/changement de ligne (ce qui correspond au marqueur de fin de ligne standard sous système d'exploitation Microsoft). Elle définit ensuite deux champs par enregistrement. Le premier champ utilise la virgule comme séparateur ; le second est le dernier champ de l'enregistrement et utilise donc le séparateur spécifié comme étant propre à cet enregistrement.