С. 68 ГОСТ 34.973-91
См. также пп. 5.2.3.4 и 5.2.8.3 приложения 5.
5.2.8.
Т еги р о ва н н ы й тип
5.2.8.1.В рамках настоящего стандарта тегированный тип уни
версального класса используется для определения широко исполь
зуемых, нс зависящих от конкретного применения типов данных,
представление которых должно отличаться от представления всех
других типов данных.
Пример.
EncriptionKcy : : = [UNIVERSAL 30] IMPLICIT OCTET
STRING
- - семь октетов
5 2.8.2. Тегированный тип прикладного класса следует исполь
зовать при определении типа данных, которые находят широкое, не
локализованное использование в некотором контекстепред
ставления, причем представление этого типа должно отличаться от
представления всех других типов данных в том же контексте
представления.
Пример.
FileName : : -[APPLICATION 8j IMPLICIT SEQUENCE
{directorNatneVisibleString,
DirectoryRelativeFileNameVisibleString}
5.2.8 3. Контекстнозавнснмыс тегированные типы используются
для различения элементов множества. Если единственным требо
ванием, предъявляемым к числовым тегам, является отличие их
друг от друга, то их следует присваивать, начиная с нуля.
Пример.
CustomerRecord : :SET
{name[0]IMPLICIT VisibleString,
16
mailingAddress[1] IMPLICIT VisibleString,
accountNumber121 IMPLICIT VisibleString,
balanceDue[3] IMPLICIT VisibleString
- - в центах - -}
5.2.8.4. В тех случаях, когда некоторый элементмножества
имеет тег прикладного класса (APPLICATION), то не требуется
присвоения нового контекстно зависимого тега, за исключением
тех случаев, когда требуется (или может потребоваться в
буду щем) обеспечить его отличие от других элементов
множества. В тех случаях, когда элемент множества имеет тег
универсального класса’ (UNIVERSAL), ему следует дополнительно
присвоить кон текстнозависимый тег.
Пример.
ProductRccord : : - SET
{UniformCode,
description[0) IMPLICIT INTEGER,