ГОСТ Р ИСО/МЭК 8825-3—2016
17.5.5 Если «EncodingOrUseSet» в «StructureEncoding» имеет знамение «EncodingObject», то он
будет управляться управляющим конструктором кодирования.
17.5.6 Если в каком-либо «EncodingOrUseSet» указан USE-SET. то кодирование соответствующе
го класса достигается путем применения «CombinedEncodings», который должен присутствовать и дол
жен быть достаточным для кодирования соответствующего класса; в противном случае
спецификация ECN будет ошибочной.
17.5.7 Продукцией «ComponentEncodingList» является;
ComponentEncodingList ::=
ComponentEncoding*
ComponentEncoding
NonOptionalComponentEncodingSpec |
OptionalComponentEncodingSpec
17.5.8 Должен быть один самый большой «ComponentEncoding» для каждого компонента управля ющего
конструктора кодирования. «ComponentEncodings» должен быть в том же текстуальном порядке.
Примечание — Отсутствие «ComponentEncoding» может быть обнаружено по последующим именован
ным полям либо по концу «ComponentEncodingUst».
17.5.9 «OptionalComponentEncodingSpec» используется, если, и только если, компонент является
факультативным (то есть содержит класс кодирования в категории «факультативные возможности»).
17.5.10 Если «ComponentEncoding» для какого-либо компонента отсутствует в «ComponentEncod
ingList». то должен присутствовать «CombinedEncodings» (но см. также 17.5.6), который требуется при
приложении к компоненту (см. 13.2) для обеспечения полного кодирования этого компонента (возмож но.
включая использование фиктивных параметров): в противном случае спецификация ECN будет
ошибочной.
NonOptionalComponentEncodingSpec ::=
identifier ?
TagAndElomontEncoding
OptionalComponentEncodingSpec ::=
identifier
TagAndElemontEncodlng
OPTIONAL-ENCODING
OptionalEncoding
TagAndElomontEncoding ::=
TagEncoding ?
EncodingOrUseSet
OptionalEncoding ::= EncodingOrUseSet
17.5.11 Элементом «identifier» здесь должен быть «identifier» компонента управляющего конструк
тора кодирования. Элемент «identifier» в «NonOptionalComponentEncodingSpec» должен отсутствовать,
если, и только если, управляющий конструктор кодирования является классом в категории «повторе
ние». для которого нет идентификатора в повторяемом элементе.
17.5.12 «TagAndElementEncoding» в «ComponentEncoding» должен обеспечить полное кодирова
ние для компонента (включая любой класс в категории «тег», который предшествует элементу, но ис
ключая любой класс в категории «факультативные возможности», который следует за элементом).
17.5.13 «EncodingObject» из «EncodingOrUseSet» в «TagAndElementEncoding» будет руко
водиться соответствующим классом кодирования в компоненте. Если «EncodingOrUseSet» будет
USE-SET. то кодирование достигается путем применения «CombinedEncodings» (который должен
присутствовать).
17.5.14 «EncodingOrUseSet» в «OptionalEncoding» должен полностью кодировать класс в кате
гории «факультативные возможности» компонента. Если «EncodingOrUseSet» будет USE-SET. то
кодирование класса в категории «факультативные возможности» достигается путем применения
«CombinedEncodings» (который должен присутствовать).
55