Тег «choice» в FSD
Тег «choice» определяет последовательность записей, выбора, а также другие последовательности. В отличие от тегов «Sequence» для тега «Choice» используется сопоставление с определенным образцом при выборе самых подходящих записей.
<choice> name output='yes|no' max-occur min-occur <record/> <choice/> <sequence/> </choice>
Атрибуты
name
Определяет имя тега «choice». Если для атрибута «output» установлено значение yes, это имя используется как имя XML-тега в выходных данных для сопоставления выбора с XML-тегом при обработке данных ввода.
output
Определяет необходимость вывода последовательности в выходных данных. Допустимыми значениями этого атрибута являются значения yes и no. При этом yes означает необходимость генерации тега в выходных данных, а no означает, что последовательность предназначена для описания структуры данных и не включается в выходные данные.
По умолчанию для этого атрибута установлено значение yes.
max-occur
Определяет максимальное число вхождений при выборе. Нуль означает любое число вхождений.
По умолчанию для этого атрибута установлено значение «1».
min-occur
Определяет минимальное число вхождений при выборе.
По умолчанию для этого атрибута установлено значение «0».
Примечания
Элемент «Choice» выполняет поиск наиболее соответствующей записи для обработки данных. Сопоставление проводится на основе атрибутов, например допустимого значения для поля, разделителя записей и минимального и максимального числа вхождений.
Этот элемент необходимо использовать с осторожностью, поскольку сопоставление с образцом для этого элемента требует затрат производительности.