Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 8825-3-2016 Информационная технология (ИТ). Правила кодирования АСН.1. Часть 3. Спецификация нотации контроля кодирования (ECN)

     21.16 Тип HandleValueSet

21.16.1 Продукцией типа "HandleValueSet" является:

HandleValue ::= CHOICE {

bits BIT STRING,

octets OCTET STRING,

number INTEGER (0..MAX),

tag ENUMERATED {any},

range SEQUENCE {

low INTEGER(0..MAX),

high INTEGER(0..MAX)},

ranges SET (SIZE(1..MAX)) OF SEQUENCE {

low INTEGER(0..MAX),

high INTEGER(0..MAX)}}

21.16.2 "HandleValueSet" используется для определения набора битовый паттернов (набора значений описателей), характеризующего кодирования, производимые объектами кодирования, которые показывают идентификационный описатель.

21.16.3 Значение идентификационного описателя может использоваться для указания на наличие или отсутствие факультативных компонентов, на выбор альтернативы, на размещение наборов или конец повторения. В этих случаях наборы значений описателей объектов кодирования, применяемых для разных альтернатив или компонентов, должны быть непересекающимися (см. 21.5.7, 21.6.6, 21.7.10 и 22.10.2.1), и все возможные значения идентификационного описателя, появляющиеся при кодированиях любых заданных альтернатив или компонентов, должны соответствовать указанному набору значений описателя объекта кодирования, применяемого к такой альтернативе или компоненту (см. 22.9.2.2).

Примечание - Разработчик ECN должен определять набор значений описателя во всех случаях, кроме тех, когда (при кодировании класса "тег") набор значений описателя состоит из единственного значения и зависит от номера тега, связанного с этим классом "тег", либо прямо с помощью неявной генерации из тега АСН.1, либо с помощью отображения из неявно генерируемой структуры.

21.16.4 Альтернативы "bits", "octets" и "number" указывают значения описателя в виде значений цепочки битов, цепочки октетов и целочисленного значения соответственно. Спецификация ECN будет ошибочной, если это значение не может быть кодировано в пределах числа битов, указанного до идентификационного описателя (см. 22.9).

21.16.5 Альтернатива "tag:any" указывает, что значение описателя определяется числом, определенным в структуре кодирования ECN для классов в категории "тег", либо номером тега, отображенным из теговой конструкции АСН.1. Она используется только при описании идентификации описателя для кодирования класса в категории "тег".

21.16.6 Альтернатива "range" указывает диапазон целочисленных значений, где high не менее low.

21.16.7 Альтернатива "ranges" указывает набор диапазонов целочисленных значений, где high не менее low. Один или несколько таких диапазонов могут быть определены, и они не должны пересекаться.