ГОСТ Р ИСО/МЭК 8825-3—2016
22.5.3.5 Если «DETERMINED BY» равен «container», то от кодера не требуется дальнейших дей
ствий. кроме обнаружения ошибки и прекращения кодирования, если приложение запросило кодиро
вание следующих компонентов в контейнер «USING», когда смысловое значение «element-is-prosent»
для этого факультативного компонента равно «FALSE».
22.5.3.6 Если «DETERMINED BY» равен «handle», то от кодера не требуется дальнейших действий.
22.5.3.7 Если «DETERMINED BY» равен «pointer», то от кодера не требуется дальнейших дей ствий.
кроме тех, которые сопровождают предварительное выравнивание (если оно имеется) и специфи
кации начальных указателей.
22.5.4 Действия декодера
22.5.4.1 Если «DETERMINED BY» установлен (возможно, по умолчанию) в «field-to-be-set», то
декодер восстанавливает значение «eloment-is-presont» путем применения реверсии «ENCODER-
TRANSFORMS» (если он есть) к значению ссылки «USING».
22.5.4.2 Если «DETERMINED BY» равен «flold-to-be-usod», то декодер восстанавливает смыс
ловое значение «eloment-is-present» путем применения «DECODER-TRANSFORMS» (если он есть) к
значению этого поля.
22.5.4.3 Если «DETERMINED BY» равен «container», то декодер устанавливает смысловое зна
чение «elemont-ispresent» в «TRUE», если, и только если, имеется по меньшей мере один бит. остаю
щийся в контейнере «USING».
22.5.4.4 Если «DETERMINED BY» равен «handle», то декодер определяет значение указанно
го идентификационного описателя. Если это значение соответствует значению идентификационного
описателя факультативного компонента, то декодер устанавливает смысловое значение «element-is-
present» в TRUE, а в противном случае декодер устанавливает его в FALSE.
22.5.4.5 Если «DETERMINED BY» равен «pointer», то декодер продолжает работу согласно 22.3.
чтобы определить смысловое значение «element-is-present».
22.5.4.6 Если декодер определит (одним из вышеописанных способов), что смысловое значение
«olemont-ispresent» равно FALSE, то декодирование продолжается к следующему компоненту, в про
тивном случае декодер ожидает кодирования значения факультативного компонента и обнаруживает
ошибку кодирования, если его нет.
22.6Определение альтернативы
22.6.1 Признаки кодирования, синтаксис и цель
22.6.1.1 При определении альтернативы используются следующие признаки кодирования:
&altemativo-determination
AlternativoDetermination
DEFAULT field-to-be-set,
REFERENCE OPTIONAL.
TRANSFORM ORDERED OPTIONAL,
«TRANSFORM ORDERED OPTIONAL,
PrintableString
DEFAULT "dofault-handlo",
ENUMERATED {textual, tag}
DEFAULT textual
22.6.1.2 Для определения альтернативы должен использоваться следующий синтаксис:
ALTERNATIVE
[DETERMINED BY &alternative-detormination
[HANDLE &handle-id]]
[USING &alternative-roference
[ORDER &alternative-ordering]
[ENCODER-TRANSFORMS &Encoder-transforms]
[DECODER-TRANSFORMS &Decodor-transformsj]
22.6.1.3 Определением типов, используемых для описания альтернативы, является.
AlternativeDetermination ::=
ENUMERATED {fiold-to-bo-sot, field-to-be-usod, handle} - (см. 21.6)
&alternative-reference
AEncoder-transforms
&Docoder-transforms
&handle-id
&alternative-ordering
91