Datos no delimitados en FSD
Cuando el archivo de datos no tiene delimitadores y los campos tienen un ancho fijo, se considera realmente plano. En este
caso el atributo max-length
del elemento "field" se utiliza para especificar la longitud de cada campo.
En los datos de longitud fija suele ser necesario ajustar el espacio borde-texto para los datos de valores, esto garantiza
el inicio de los campos en la posición correcta. FSD lo controla mediante el atributo trailing-chars
. Este atributo define los caracteres que pueden aparecer después de los datos reales y desaparece de los datos antes de escribirlos
en XML. Además, el procesador FSD utiliza el atributo trailing-chars
para determinar un carácter de relleno apropiado cuando los datos se vuelven a convertir de XML a formato plano.
A continuación aparece un ejemplo de FSD que utiliza campos de longitud fija.
<?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>
A continuación aparece un ejemplo de datos de entrada para FSD:
Child Data 1 Child Data 2 Child Data 3 Child Data 4
y salida de datos para este 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>