Dados não delimitados no FSD
Quando um arquivo de dados não tem delimitadores e seus campos são de largura fixa, ele é considerado como 'realmente simples'.
Nesse caso, o atributo max-length
no elemento "field" é usado para especificar o comprimento de cada campo.
Nos dados de comprimento fixo, muitas vezes é necessário preencher os valores dos dados para garantir que os campos iniciem
na posição correta. O FSD controla isso usando o atributo trailing-chars
. Esse atributo define os caracteres que poderão aparecer após os dados reais e quais serão automaticamente separados dos
dados antes que eles sejam gravados em XML. Além disso, o processador FSD usa o atributo trailing-chars
para determinar um caractere de filler apropriado quando os dados estiverem sendo convertidos de XML para formato simples.
Este é um exemplo de FSD que usa campos de comprimento fixo:
<?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>
Veja a seguir um exemplo de alguns dados de entrada para este FSD:
Child Data 1 Child Data 2 Child Data 3 Child Data 4
e dados de saída 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>