ГОСТ Р ИСО/МЭК 8824-1-2001
в) "ClassNumber" в замещении "TaggedTvpe”есть нулевое значение тега для первого "Component-
Type" в "RootComponentTypeList" или для первого "NamedType" в "AltemativeTypeLists", единица —
для второго и т. д. но мере возрастания номеров тегов;
г) "ClassNumber" в замещении TaggedTvpe’ первого "ComponentType" в "ExtensionAdditionList"
есть нуль, если "RootComponentTypeList" пропущен, в противном случае он на единицу больше
самого большого "ClassNumber" в "RootComponentTypeList"; следующий “ComponentType" в
"ExtensionAdditionList" имеет "ClassNumber" на единицу больше первого и т. д. по мере возрастания
номеров тегов;
д) "Туре" в замещении TaggedTvpe" есть исходный тип Туре", который будет замещен.
П р и м е ч а й и я
1Правила, управляющие спецификацией явного или неявного тегирования для замещения "TaggcdType*.
приведены в 30.6. Автоматическое тегирование Всегда неявное, если только "Туре" нс является выборочным
типом, нотацией открытого типа или пустой ссылкой "DummyRefcrcncc" (см. ИСО/МЭК 8824-4. 8.3). когда
тегирование является явным.
2 Если удовлетворены требования 24.7. то теги компонентов полностью определены и не изменяются,
даже когда тин “последовательность” указывается в определении компонента в другом списке
"ComponentTypeList", для которого применяется автоматическое тегирование. Таким образом, в следующем
случае:
Т ; : = SEQUENCE {а Та. Ь ТЬ. с Тс }
Е : : = SEQUENCE \ П El. f2 Т. О ЕЗ |
теш. присоединенные к а. Ь, с нс изменятся возможным автоматическим тегированием, примененным к
компонентам Е.
3 Когда тип "последовательность" встречается как ’Туре" в "COMPONENTS OF Туре”, каждое появление
в нем "ComponentType* дублируется благодаря применению 24.4до возможного применения автоматического
тегирования к ссылающемуся типу "последовательность". Таким образом, в следующем случае:
Т :: - SEQUENCE } а Та. b SEQUENCE {Ы TI. Ь2 Т2. ЬЗ ТЗ ). с Тс )
W :: «■ SEQUENCE <х Wx. COMPONENTS OF 1. у Wy }
теги элементов а. Ь. с в последовательности Т нс обязательно должны быть теми же самыми, что и теги
элементов а, Ь. с в последовательности W. если W была определена в окружении автоматического тегирова
ния. но теги элементов Ы. Ь2 и ЬЗ —одни и те же в последовательностях Т и W. Другими словами, преобразо
вание автоматического тегирования применяется только один раз к данному списку “ComponcntTypeLists".
4 Введение подтипа нс влияет на автоматическое тегирование.
5 Когда имеет место автоматическое тегирование, вставка новых компонент» может принести к измене
ниям других компонентов, вызванным побочным эффектом модификации тегов.
24.10 Если используется ключевое слово "OPTIONAL" или "DEFAULT”, то соответствующее
значение может быть опушено из значения нового типа.
24.11 Если встречает ключевое слово "DEFAULT", то отсутствие значения этого типа должно
быть в точности эквивалентно вставке значения, определенного "Value", которое, в свою очередь,
должно быть нотацией для значения типа, определенного "Туре" в последовательности
продукций ■’NamedType".
24.12 Значение, соответствующее "ExtensionAdditionGroup* (всем компонентам вместе), явля
ется факультативным. Однако если такое значение присутствует, то должно присутствовать и значе
ние. соответствующее компонентам в заключенном в скобки "ComponentTypeList", которые не от
мечены как OPTIONAL или DEFAULT.
24.13 Идентификаторы "identifier" во всех последовательностях продукций "NamedType" списка
"ComponentTypeLists" (вместе с теми, которые получены раскрытием COMPONENTS OF) должны
быть различными.
24.14 Значение для данного типа, расширяющего дополнения, не должно устанавливаться,
если не установлены значения для всех типов расширяющего дополнения, не отмеченных как
OPTIONAL или DEFAULT, которые логически находятся между этим типом расширяющего до
полнения и корнем расширения.
П р и м е ч а й и я:
1 Когда тип наращивается от корня расширения (версия I) через версию 2 к версии 3 путем добавления
новых расширяющих дополнений, присутствие в кодировании любых дополнений из версии 3 требует присут
ствия в кодировании всех дополнений версии 2, нс отмеченных как OPTIONAL или DEFAULT.
2"ComponentType", которые имеются врасширяющих дополнениях, но нссодержатся в ’ExteasionAddiUon-
Group". должны кодироваться всегда, если они нс отмечены как OPTIONAL или DEFAULT, за исключением
3 -Д — 2 1 1 2
33