23.1.1 Определенный синтаксис
Синтаксис для определения объектов кодирования для классов в категории "альтернативы" определяется следующим образом:
#ALTERNATIVES ::= 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.6)
&alternative-determination AlternativeDetermination
DEFAULT field-to-be-set,
&alternative-reference REFERENCE OPTIONAL,
&Encoder-transforms #TRANSFORM ORDERED OPTIONAL,
&Decoder-transforms #TRANSFORM ORDERED OPTIONAL,
&handle-id PrintableString
DEFAULT "default-handle",
&alternative-ordering ENUMERATED {textual, tag}