12.3.1 Если фасет whiteSpace со значением replace или collapse принадлежит простому определению типа, у которого также есть фасет enumeration, отображаемый в "Enumeration" АСН.1 (см. 12.4.1 и 12.4.2), то применяются три следующих подпункта.
12.3.1.1 Никакие "Enumerationltem" не должны быть включены в "Enumeration" для элементов (если таковые имеются) значения фасета enumeration, которые содержат любой из символов ГОРИЗОНТАЛЬНАЯ ТАБУЛЯЦИЯ (HORIZONTAL TABULATION), НОВАЯ СТРОКА (NEWLINE) или ВОЗВРАТ КАРЕТКИ (CARRIAGE RETURN) или (в случае collapse) содержат впереди идущие, сзади идущие или многократно следующие друг за другом символы ПРОБЕЛ.
12.3.1.2 Если значением фасета whiteSpace является replace и заключительная команда кодирования TEXT с уточняющей информацией присваивается определению типа АСН.1, то заключительная команда кодирования WHITESPACE REPLACE должна быть также присвоена ему.
12.3.1.3 Если значением фасета whiteSpace является collapse и заключительная команда кодирования TEXT с уточняющей информацией присваивается определению типа АСН.1, то заключительная команда кодирования WHITESPACE COLLAPSE должна быть также присвоена ему.
12.3.2 В случае если данное условие не выполняется, применяется максимум один из трех следующих подпунктов.
12.3.2.1 Если значением фасета whiteSpace является preserve, то фасет whiteSpace должен быть проигнорирован.
12.3.2.2 Если значением фасета whiteSpace является replace и определение типа АСН.1, соответствующее простому определению типа, является типом ограниченной символьной строки АСН.1, то разрешенное ограничение алфавита должно быть добавлено к определению типа АСН.1, чтобы удалить символы ГОРИЗОНТАЛЬНАЯ ТАБУЛЯЦИЯ, НОВАЯ СТРОКА и ВОЗВРАТ КАРЕТКИ. Заключительная команда кодирования WHITESPACE REPLACE должна быть присвоена определению типа АСН.1. Следующее или эквивалентное ограничение алфавита должно быть
(FROM ({0, 0, 0, 32}..{0, 16, 255, 255}))
12.3.2.3 Если значением фасета whiteSpace является collapse и определение типа АСН.1, соответствующее простому определению типа, является типом ограниченной символьной строки АСН.1, то и разрешенное ограничение алфавита, как указано в 12.3.2.2, и ограничение шаблона, которое запрещает впереди идущие, сзади идущие или многократно следующие друг за другом символы ПРОБЕЛ, должны быть добавлены к определению типа АСН.1. Заключительная команда кодирования WHITESPACE COLLAPSE должна быть присвоена определению типа АСН.1. Следующее или эквивалентное ограничение шаблона должно быть
(PATTERN "([ ]([ ]|[ ])*)?")