Элемент «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.