ГОСТ Р ИСО/М ЭК 8824-1-2001
D.2.5 В ИСО/МЭК 10646-1 определены три "уровня реализации" и требуется, чтобы все пользователи
ИСО/МЭК 10646-1 устанавливали уровень реализации.
Уровень реализации относится к степени, в которой поддерживаются комбинированные символы и,
следовательно, в терминах АСН.1. определяется подмножество UnivcrsalString и BMPSlring, ограничиваюшее
типы символьных строк.
Для уровни реализации 1 комбинированные символы не допустимы, и обычно имеется взаимно одно
значное соответствие между абстрактными символами (ссылками на ячейки! в символьной строке АСН.1 и
печатными символами в физическом представлении строки.
Для уровня реализации 2 допускается использование некоторых комбинированных символов (перечис
ленных в ИСО/МЭК 10646-1, приложение В), но использование других таких символов запрещено.
Для уровня реализации 3 нет ограничений на использование комбинированных символов.
D.2.6 Типы BMPStnng и UnivcrsalString могут быть ограничены с помощью нотации полтипа гак. чтобы
исключить все упраатнюшис функции:
VanillaBMPString : : - BMPSlring (FROM (ALL EXCEPT
({0. (J. 0. 0}. . {0. 0, 0. 31)! (0. 0. 0. 128} . - (0. 0. 0. 159})»
или. эквивалентно.
СО : : - BMPSlring (FROM ((0. 0. 0, 0} . . (0. 0. 0. 31}»- - Функции СО
Cl :: - BMPSlring (FROM ({0. 0. 0. 12S} . . {0. 0. 0. 159})) - - Функции Cl
VanillaBMPString :: - BMPSlring (FROM (ALL EXCEPT (СО | С1»)
D.3 О требованиях соответствия ИСО/МЭК 10646-1
Использование UnivcrsalString. BMPSlring или UTFSString (или их подтипов) в определении типа АСН.1
требует обращения к требованиям соответствия ИСО/МЭК 10646-1.
Согласно этим требованиях! соответствия разработчики стандарта (скажем. X), использующие такие
типы АСН.1. должны обеспечивать (в заявке о соответствии реализации протоколу) утверждение о принима
емом подмножестве ИСО/МЭК 10646-1 для реализаций их стандарта X или об уровне поддержки кохтбиннро-
ванных символов этими реализациями.
Испольтованис подтипа UnivcrsalString, UTFSString или BMPSlring в спецификации требует, чтобы ре
ализации поддерживали все символы ИСО/МЭК 10646-1. включенные в этот подтип АСН.1. и. следователь но.
чтобы (по крайней мере) эти символы присутствовали я принимаемом подмножестве для реализации. Так же
требуется, чтобы установленный уровень поддерживался всеми такими подтипами АСН.1.
П р и м е ч а н и е — Спецификация АСН.1 (при отсутствии параметров абстрактного синтаксиса и
спецификации исключений) определяет как максимальный набор символов, которые могут быть переданы,
так и минимальный набор символов, которые должны обрабатываться получателем. Принимаемый набор
ИСО/МЭК 10646-1 требует, чтобы символы нс из этою набора нс передавались, а все символы этого набора
поддерживались получателем. Следовательно, необходимо, чтобы принимаемый набор был бы в точности
набором всех символов, допускаемых спецификацией АСН.1. Случай, когда имеется параметр абстрактного
синтаксиса, рассматривается ниже.
D.4 Рекомендации пользователям АСН.1 но соопзстствию ИСО/МЭК 10646-1
Пользователи АСН.1 должны четко устанавливать набор символов ИСО/МЭК 10646-1, который образу
ет принимаемый полнабор реализации (и требуемый уровень реализации) для того, чтобы !зыполнялись требо
вания их стандарта.
’Эго можно удобно сделать путем определения подтипа UnivcrsalString. UTFSString или BMPSlring. кото
рый содержит все необходимые для стандарта символы, и ограничения его "уровнем Г или "уровнем 2”. Под
ходящим именем для этого типа может быть "ISO-10646-Stnng".
П р и м е р
ISO-10646-String : : - BMPSlring
(FROM <Level2 INTERSECTION (BasicLatin UNION HcbrcwExtcndcd UNION Hiragana)))
- - Это тип. который определяет минимальный набор символов в принимаемом поднаборе для
- - реализации настоящего стандарта.
- - Требуемый уровень реализации — нс ниже 2.
Тогда ЗС’РП будет содержать простое утверждение, что принимаемый поднабор ИСО/МЭК 10646-1 есть
ограниченный иоднабор (и уровень), определенный типом "ISO-10646-String", a "ISO-10646-String" (возмож но.
сто подтипы) будет использоваться в стандарте всюду, где требуется включить строки ИСО/МЭК 10646-1.
П р и м е рЗСРП
Принимаемый поднабор ИСО/МЭК 10646-1 есть ограниченный поднабор, состоящий из всех символов
в типе АСН.1 "ISO-10646-String", определенном в модуле <имя модуля>. с уровнем реализации 2.
83