Definición de datos delimitados en FSD
Los elementos "record" y "field" pueden tener un especificador en forma de separador. Este especificador delimita "record" y "field" en los datos. Cuando no se especifica delimitador, los datos se consideran con ancho fijo, utilizando el atributo "max-length" del elemento "field".
El ejemplo que aparece a continuación muestra "field" y "record" con 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>
y genera la siguiente estructura XML:
<parent> <child1/> <child2/> </parent>
Ejemplo de entrada para este FSD:
Child 1 Data,Child 2 Data Child 3 Data,Child 4 Data
y un ejemplo del resultado generado:
<parent> <child1> Child 1 Data</child1> <child2> Child 2 Data</child2> </parent> <parent> <child1> Child 3 Data</child1> <child2> Child 4 Data</child2> </parent>
El FSD que aparece arriba, marca el final de cada registro con salto de línea y avance de línea (que es el final estándar para un marcador de línea en los Sistemas Operativos de Microsoft). Luego define dos campos para cada archivo. El primer campo utiliza una coma como delimitador y el segundo campo es el último campo del registro y por lo tanto utiliza el delimitador especificado para el registro como su propio delimitador.