19.4.1 Это отображение позволяет применять один или несколько объектов кодирования #TRANSFORM для выполнения отображения.
19.4.2 Класс кодирования #TRANSFORM определяется в разделе 24. Он дает возможность описывать объекты кодирования, которые будут преобразовывать абстрактные значения источника в абстрактные значения результата. Правила формирования упорядоченного списка преобразований (для "OrderedTransformList") описываются в разделе 24. Полный список определен для преобразования из источника в результат.
Примечание - Примеры отображений, определенных с этими преобразованиями, приведены в D.1.2.2 и D.2.4.2. Пример в D.1.6.3 показывает использование этой продукции для определения двоично-десятичного кодирования (BCD) целого числа АСН.1.
19.4.3 Продукцией "MappingByTransformEncodingObjects" является:
MappingByTransformEncodingObjects ::=
TRANSFORMS
"{"
OrderedTransformList
"}"
OrderedTransformList ::= Transform "," +
Transform ::= EncodingObject
19.4.4 Все "EncodingObject" в "OrderedTransformList" должны управляться классом кодирования #TRANSFORM.
19.4.5 Классы цели и источника для этого отображения (см. 19.1.2) должны быть категории "цепочка битов", "булева", "цепочка знаков", "целочисленная" или "цепочка октетов". Источник первого преобразования в списке и результат последнего преобразования в списке должны быть согласованы с категориями источника и цели, описанными в 24.2.7.
19.4.6 Спецификация или применение ECN будут ошибочными, если любой "Transform" в "OrderedTransformList" не является обратимым для отображаемого абстрактного значения.
Примечание - В разделе 24 для каждого преобразования определены абстрактные значения, для которых указана их обратимость.
19.4.7 Если имеются ограничения на границы и на реальный размер для класса кодирования цели, то применяется 17.4.7.