Табличное представление блоков информации

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

Обязательный реквизит - это реквизит, который должен обязательно присутствовать в файле и иметь не пустое значение.

Необязательный реквизит - это реквизит, который может как присутствовать, так и отсутствовать в файле.

Условно-обязательный реквизит - это реквизит, присутствие которого в файле обусловлено значениями, наличием или отсутствием других реквизитов этого же файла. В случае выполнения условия присутствия (УП) условно-обязательный реквизит по всем своим свойствам приравнивается к обязательному, а в случае невыполнения - отсутствует.

Предписанный реквизит - это реквизит, код которого должен обязательно присутствовать в файле, в то время как значения может и не быть.

Предписанный реквизит имеет следующую структуру:

<код реквизита> <двоеточие> (<содержание реквизита> | <пустой оператор>).

Последовательность реквизитов в блоке совпадает с их последовательностью в табличном представлении блока:

┌───────────────────────────────────────────────────────────────────────┐

│Блок │ <блок>::=

├───────────────────────────────────────────────────────────────────────┤

│Строка, описывающая реквизит 1 │ <представление реквизита 1>

├───────────────────────────────────────────────────────────────────────┤

│... │ ...

├───────────────────────────────────────────────────────────────────────┤

│Строка, описывающая реквизит i │ <представление реквизита i>

├───────────────────────────────────────────────────────────────────────┤

│... │ ...

├───────────────────────────────────────────────────────────────────────┤

│Строка, описывающая реквизит N │ <представление реквизита N>

└───────────────────────────────────────────────────────────────────────┘

При этом для любого i (1 00000005.wmz i 00000006.wmz - N, N - число строк в разделе таблицы) представление реквизита определяется следующим образом:

"представление реквизита i>::= обязательный реквизит i> |

<необязательный реквизит i> |

<условно-обязательный реквизит i>|

<предписанный реквизит i>

<обязательный реквизит i>::= <реквизит i>

<необязательный реквизит i>::= ["реквизит i>]

<условно-обязательный реквизит i>::= "реквизит i> |?УП; ["реквизит i>]

<предписанный реквизит i>::= "реквизит i>

Порядок следования реквизитов в файле принимается в соответствии с описанием формата.