Последовательности и выбор

В функции FSD можно определить в схеме как фиксированную, так и произвольную последовательность записей. В фиксированной последовательности каждая запись должна следовать в указанном порядке. Это наиболее часто встречающаяся конструкция в FSD, так как большинство структур плоских данных разработаны для получения данных в указанном порядке.

Формат плоских данных — это формат данных, в котором записи и поля следуют в произвольном порядке, или в которых структура записей определяется маркерами в данных. Для таких структур данных можно использовать элемент «Choice». С помощью данного элемента выполняется сопоставление с образцом для определения наиболее подходящей записи для генерации выходных данных. Сопоставление с образцом включает в себя сравнение длин полей, разделителей полей, количества полей и любого указанного допустимого значения для поля.

Примечание. Элемент «Choice» влияет на производительность обработки данных, рекомендуется использовать этот элемент в крайнем случае.

Число вхождений

В элементах «Sequence», «Choice» и «Record» в FSD можно указать число ожидаемых вхождений. Обработчик FSD использует эту информацию для проверки данных.

По умолчанию для атрибута «max-occurs» установлено значение 1. Это означает, что ожидается только одно вхождение записи, указанной в элементах «Record», «Sequence» или «Choice». Для некоторых типов плоских данных по умолчанию может быть установлено другое значение, но в большинстве случаев допустимым является любое число вхождений. Любое число вхождений можно указать с помощью значения 0, в этом случае обработчик FSD обрабатывает записи до тех пор, пока не будет найдена не соответствующая запись,

Атрибут «min-occurs» используется только в целях проверки и для сопоставления с образцом с помощью элемента «Choice». Перед переходом к следующей записи обработчик FSD сравнивает число вхождений с минимальным числом, указанным в атрибуте «min-occurs». Если вхождений найдено меньше, генерируется ошибка.