Определение данных с разделителями
Записи и поля могут отделяться спецификаторами-разделителями. Спецификатор отделяет запись или поле внутри данных. Если разделитель не указан, данные обрабатываются как данные фиксированной ширины с использованием атрибута «max-length» элемента «Field».
В следующем примере приведены поля и записи с разделителями:
<?xml encoding='UTF-8' version='1.0' ?> <schema xmlns='http://www.infor.com/2017/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>
в примере генерируется данная структура XML:
<parent> <child1/> <child2/> </parent>
Входные данные для этого определения схемы плоского файла (FSD):
Дочерние данные 1, дочерние данные 2
Дочерние данные 3, дочерние данные 4
Пример сгенерированных выходных данных:
<parent> <child1>Child 1 Data</child1> <child2>Child 2 Data</child2> </parent> <parent> <child1>Child 3 Data</child1> <child2>Child 4 Data</child2> </parent>
В приведенном выше описании схемы плоского файла (FSD) каждая запись заканчивается парой «возврат каретки — перевод строки», которая является стандартным концом маркера строки в операционных системах Microsoft. Для каждой записи определено по два поля. В первом поле в качестве разделителя используется запятая. Второе поле является последним полем в записи, для него используется разделитель, указанный как разделитель записи.