ГОСТ Р ИСО/МЭК 8825-4 — 2009
последовательность. В этом случае компонент последовательности-из. поддерживающий команду коди
рования ЕМBED-VALUES, предшествует компоненту последовательности-из. поддерживающему команду
кодирования USE-ORDER.
34.1.5Компонент, определяющий семантический порядок, обязан быть типа последовательность-из
с компонентом перечислимого типа. Этот тип последовательности-из и его семантика зависят от присут
ствия или отсутствия команды кодирования USE-NIL, применяемой ктипу последовательность, как описа
но в следующих подпунктах.
34.1.5.1 Если нет окончательной команды кодирования USE-NIL. имена перечислений то)*адественны
идентификаторам компонентов АСН.1 типа последовательность. Порядок перечислений в каждом
абстрактном значении определяет семантический порядок значений последующих компонентов типа
последовательность, которые присутствуют врезультате кодирования.
34.1.5.2 Если есть окончательная команда кодирования USE-NIL. то OPTIONAL компонент, необходи
мый при использовании USE-NIL, обязан быть типа последовательность (скажем. В), и имена перечислений
тождественны идентификаторам компонентовАСН.1 типа В последовательность. Порядок перечислений
в каждой абстрактном значении определяет семантический порядок значений компонентов типа В последо
вательность, которые присутствуют в результате кодирования.
34.2Ограничения
34.2.1 Эта команда кодированиядолжна быть назначена только типу последовательность. Тил после
довательность должен содержать компонент типа последовательность-из (скажем, тип А) с компонентом
перечислимого типа. Если тип последовательность не имеет также окончательных команд кодирования
EMBED-VALUES, тогда тип А должен быть первым компонентом, а в противном случае— вторым. Если нет
окончательной команды кодирования USE-NIL. тип последовательность должен также иметь хотя бы один
компонент без окончательных команд кодирования ATTRIBUTE или ANY-ATTRIBUTES (компонент, не явля
ющийся атрибутом). Если есть окончательная команда кодирования USE-NIL, то OPTIONAL компонент,
поддерживающий USE-NIL. будет типа последовательность, и должен иметь, по крайней мере, один ком
понент.
34.2.2 Перечислимый тип должен иметь идентификаторы, которые зависят от присутствия или отсут
ствия окончательной команды кодирования USE-NIL, применяемой к типу последовательность с командой
кодирования USE-ORDER, как определено в следующих подпунктах.
34.2.2.1 Если нет окончательной команды кодирования USE-NIL. то перечислимый типдолжен иметь
идентификаторы для перечисления, которые находятся во взаимно-однозначном соответствии (и находят ся
в том же текстовом порядке) с идентификаторами следующих компонентов последовательности, не
являющихся атрибутами (см. 34.2.1). Тип последовательность-издолжен быть ограничен так, чтобы каждое
абстрактное значение содержало точноодин идентификатордля каждого компонента последовательности,
не являющегося атрибутом, который присутствует в абстрактном значении.
34.2.2.2 Если естьокончательная команда кодирования USE-NIL. то перечислимый тип должен иметь
идентификаторы для перечислений, которые находятся во взаимно-однозначном соответствии (и находят ся
в том же текстовом порядке) с идентификаторами компонентов компонента OPTIONAL втипе последова
тельность. Тип последовательность-издолжен быть ограничен так. чтобы каждое абстрактное значение
содержало точно один идентификатордля каждого OPTIONAL компонента последовательности, который
присутствует в абстрактном значении.
П р и м е ч а н и е — Рекомендуется ограничение на тип последовательность выражать как:
(CONSTRAINED BY (ЛДолжен соответствовать ИСО/МЭК 8825-4. часть 35 V})
34.2.2.3 "Enumerationltem"s в перечислениях все должны быть «Идентификаторами» или «Поимено-
ваннымиЧислами» ("NamedNumber")со значения Одля первой позиции "Enumerationltem". 1— для второй, и
такдалее, до последней позиции "Enumerationltem”.
34.2.3 Тип последовательность-из недолжен бытьотмечен OPTIONAL или DEFAULT.
34.2.4 Следующие компоненты последовательности (если нет окончательной команды кодирования
USE-NIL) и компонент OPTIONAL последовательности (если есть окончательная команда кодирования
USE-NIL) недолжны быть отмечены DEFAULT, если только они не имеют окончательной команды кодирова
ния ATTRIBUTE.
34.2.5 Никакой компонент любой последовательности с этой окончательной командой кодирования
или OPTIONAL последовательности (когда есть окончательная команда кодирования USE-NIL), не должен
иметь окончательной команды кодирования UNTAGGED. независимо от того, является ли тип этого компо
нента посимвольно кодируемым или нет.
60