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.