23.11.1 Определенный синтаксис
Синтаксис с целью определения объектов кодирования для классов в категории "факультативные возможности" определяется следующим образом:
#OPTIONAL ::= ENCODING-CLASS {
-- Спецификация замены исключительно структуры (см. 22.1)
&#Replacement-structure
OPTIONAL,
&replacement-structure-encoding-object &#Replacement-structure OPTIONAL,
-- Спецификация предварительного выравнивания и заполнения (см. 22.2)
&encoding-space-pre-alignment-unit Unit (ALL EXCEPT repetitions) DEFAULT bit,
&encoding-space-pre-padding Padding DEFAULT zero,
&encoding-space-pre-pattern Non-Null-Pattern (ALL EXCEPT different:any)
DEFAULT bits:'0'B,
-- Спецификация начального указателя (см. 22.3)
&start-pointer REFERENCE OPTIONAL,
&start-pointer-unit Unit (ALL EXCEPT repetitions) DEFAULT bit,
&Start-pointer-encoder-transforms #TRANSFORM ORDERED OPTIONAL,
-- Определение факультативных возможностей (см. 22.5)
&optionality-determination OptionalityDetermination
DEFAULT field-to-be-set,
&optionality-reference REFERENCE OPTIONAL,
&Encoder-transforms #TRANSFORM ORDERED OPTIONAL,
&Decoder-transforms #TRANSFORM ORDERED OPTIONAL,
&handle-id PrintableString
DEFAULT "default-handle"