Элемент «field» в FSD
Элемент «field» определяет единственное поле во входных или выходных данных.
<field name output='yes|no' field-sep valid-value default-value leading-chars trailing-chars output-if-empty='no' max-length='128' min-length='0' truncate='no' quoted='auto' </field>
Атрибуты
name
Определяет имя поля. Если для атрибута «output» установлено значение yes, это имя используется как имя XML-тега в выходных данных для сопоставления выбора с XML-тегом при обработке данных ввода.
output
Определяет необходимость включения поля в выходные данные. Допустимыми значениями для этого атрибута являются значения yes и no, где yes означает, что запись вызывает генерацию тега в выходных данных, а no означает, что поле предназначено только для описания структуры данных и может использоваться для пропуска данных. Значение по умолчанию — yes.
record-sep
Определяет для поля необязательную строку разделителя полей. Разделителем может быть любое строковое значение. Также можно использовать следующие специальные значения:
- \r — символ возврата каретки;
- \n — символ перевода строки;
- \t — символ табуляции
Если разделитель полей не указан, для считывания данных (фиксированной длины) используется атрибут
max-length
. После последнего поля в записи разделитель полей может отсутствовать. В этом случае используется разделитель записей (если он определен).valid-value
Этот атрибут используется для определения значения, которое должно содержать поле. Оно используется при считывании плоских данных для проверки данных и как часть элемента «choice» при сопоставлении с образцом. Если при записи плоских данных для атрибута output установлено значение no, фиксированное значение, указанное для
valid-value
, записывается в плоские данные.leading-chars
Строка, содержащая символы, которые требуется отбросить у значения слева при считывании значения из плоского файла. Если при записи данных в плоский файл атрибут
trailing-chars
не указан, первый из этих символов используется для дополнения значения слева до правильной длины (определенной атрибутом «min-length»).trailing-chars
Строка с символами, которые требуется отбросить у значения справа при считывании из плоского файла. При записи данных в плоский файл первый из этих символов используется для дополнения значения справа до правильной длины (определенной атрибутом
min-length
).output-if-empty
Определяет необходимость записи поля в выходные данные, если его содержимое пусто. Допустимые значения этого атрибута: yes и no. Значение по умолчанию — no.
max-length
Определяет максимальную длину данных. Это значение определяет, сколько данных должно быть считано. Значение по умолчанию — 128.
min-length
Определяет минимальную длину данных. Это значение используется для проверки и сопоставления с образцом в элементе «choice», а также для дополнения поля слева или справа при указанных атрибутах
leading-chars
илиtrailing-chars
. Значение по умолчанию — 0.truncate
Если установлено значение yes, данные, записываемые обратно в формате плоского файла, усекаются до указанной максимальной длины
max-length
. Значение по умолчанию — no.quoted
Этот параметр определяет необходимость заключения данных в кавычки. Его использование позволяет включать символ разделителя полей в фактические данные (поскольку обработчик FSD не выполняет поиск разделителей полей в строках, заключенных в кавычки). Для этого атрибута можно установить следующие значения:
-
Нет
Данные не должны обрабатываться как строка в кавычках, то есть данные будут записаны в плоский файл и вне плоского файла без изменения.
-
Да
Данные должны обрабатываться как строка в кавычках. При преобразовании данных из плоского формата в формат XML все окружающие кавычки удаляются, а все маскированные кавычки преобразуются в одиночные кавычки.
При преобразовании данных из формата XML в плоский формат данные заключаются в кавычки, и все существующие кавычки будут маскированы (т.е. кавычки будут удвоены, а именно: вместо символа « будет записано «« и т.д.).
-
Auto
Этот атрибут применяется только при преобразовании данных плоского файла с разделителями в формат XML. Если данные содержат разделитель полей, он обрабатывается так, как если бы для атрибута «quoted» было установлено значение yes. Значение по умолчанию — auto.
-
Нет