5.7.3. Элементы управления

5.7.3. Элементы управления

Элементы типа CASE

Элементы типа CASE используются для включения в документ элемента, выбираемого из нескольких элементов, представляющих собой содержимое элемента типа CASE. Выбор осуществляется в зависимости от значений, содержащихся в словаре (см. Элементы типа VOCABULARY), определенном параметром FULLPATH первого простого элемента, расположенного непосредственно после элемента типа CASE. Далее следуют один или несколько элементов любых типов, кроме элементов типа COLLECTION, DOCUMENT, FRAGMENT, VOCABULARY или REFERENCE. Первый элемент в содержимом элемента типа CASE может быть любой простой элемент, кроме элемента типа BOOLEAN, является управляющим и определяет, какой из последующих элементов будет включен в формируемый документ.

<содержимое элемента типа CASE>::=<управляющий элемент><заполняемый элемент>

<заполняемый элемент>::=<простой элемент>

<заполняемый элемент>::=<составной элемент, допустимый для CASE>

<заполняемый элемент>::=<содержимое элемента типа CASE><простой элемент>

<заполняемый элемент>::=<содержимое элемента типа CASE><составной элемент, допустимый для CASE>

<управляющий элемент>::=<элемент типа DATE>|<элемент типа REAL>|<элемент типа INTEGER>|<элемент типа STRING>

<составной элемент, допустимый для CASE>::=<элемент типа ARRAY>|<элемент типа CASE>|<элемент типа IF>|<элемент типа STRUCTURE>

<список параметров элемента типа CASE>::=(TYPE="CASE")<параметр NOSHOW>[<параметр ALIGN>][<параметр ALIGNP>][<параметр FONTSIZET>][<параметр INDENT>][<параметр LEADER>][<параметр MEANVOC>][<параметр MODELF>][<параметр NOTITLE>][<параметр NUMPOINT>][<параметр PAGE>][<параметр POSTITLE>][<параметр PRINTSTYLE>][<параметр SIZET>][<параметр SKIPD>][<параметр SKIPS>][<параметр TITLE>][<параметр TITLEP>][<параметр TRASINGT>][<параметр TRASINGV>]

Наличие параметра LEADER показывает, что элемент типа CASE подчинен другому, определяющему элементу того же типа, то есть оба элемента используют один и тот же словарь, и значение, выбранное при заполнении определяющего элемента, формирует выбор, производимый подчиненным элементом. Значение параметра LEADER определяет полный путь от корневого элемента шаблона до определяющего элемента типа CASE. Определяющий элемент должен находиться на уровне не ниже управляемого.

При наличии параметра LEADER параметры COLUMND, COLUMNS, FULLPATH и MODEL игнорируются. При отсутствии параметра LEADER параметры COLUMND и COLUMNS являются обязательными.

Элементы, содержащиеся в элементе типа CASE, должны обязательно иметь параметр MEANVOC, кроме управляющего.

Элементы типа IF

Элементы типа IF используются для включения в документ, в зависимости от значения, принимаемого назначающим элементом одного из двух других элементов. Содержимое элемента типа IF представляет собой, в общем случае, три элемента. Первый элемент (типа BOOLEAN) является назначающим и определяет, какой из последующих двух элементов будет включен в формируемый документ. Второй элемент используется в том случае, если значение назначающего - "Истина", третий - в том случае, когда значение назначающего - "Ложь". Наличие третьего элемента не является обязательным. В случае его отсутствия в документ ничего не включается.

<содержимое элемента типа IF>::=<элемент типа BOOLEAN><элемент, заполняемый по значению "true">[<элемент, заполняемый по значению "false">]

элемент, заполняемый по значению "true">::=<простой элемент>|<составной элемент, допустимый для IF>

элемент, заполняемый по значению "false">::=<простой элемент>|<составной элемент, допустимый для IF>

<составной элемент, допустимый для IF">::=<элемент типа ARRAY>|<элемент типа CASE>|<элемент типа IF>|<элемент типа STRUCTURE>

<список параметров элемента типа IF>::=(TYPE="IF")<параметр NOSHOW>[<параметр ALIGN>][<параметр ALIGNP>][<параметр FONTSIZET>][<параметр INDENT>][<параметр LEADER>][<параметр MEANVOC>][<параметр MODELF>][<параметр NOTITLE>][<параметр NUMPOINT>][<параметр PAGE>][<параметр POSTITLE>][<параметр PRINTSTYLE>][<параметр SIZET>][<параметр SKIPD>][<параметр SKIPS>][<параметр TITLE>][<параметр TITLEP>][<параметр TRASINGT>][<параметр TRASINGV>]

Наличие параметра LEADER показывает, что элемент типа IF подчинен другому, определяющему элементу того же типа, то есть оба элемента используют один и тот же назначающий элемент типа BOOLEAN, и значение, выбранное при заполнении назначающий элемент типа BOOLEAN, определяющего элемента, формирует выбор, производимый подчиненным элементом. Значение параметра LEADER определяет полный путь от корневого элемента шаблона до определяющего элемента типа IF. Определяющий элемент должен находиться на уровне не ниже управляемого.