22.2.1 Если окончательные инструкции кодирования для типа АСН.1, который является NOT UNTAGGED посимвольно кодируемым типом, содержит команду кодирования DEFAULT-FOR-EMPTY, то этот тип не должен быть компонентом (АСН.1 SEQUENCE или SET) со значением DEFAULT АСН.1.
Примечание - Это ограничение не является строго обязательным, оно должно исключить путаницу между нормальным механизмом определения АСН.1 и механизмом по умолчанию EXTENDED-XER.
22.2.2 Эта команда кодирования должна быть назначена только:
а) посимвольно кодируемому типу без окончательной команды кодирования UNTAGGED;
б) типу последовательность NOT UNTAGGED без окончательных команд кодирования EMBED-VALUES или USE-NIL, одним из компонентов которых является посимвольно кодируемый тип с окончательной командой кодирования UNTAGGED и все другие компоненты (если есть хотя бы один) имеют окончательные команды кодирования ATTRIBUTE или ANY-ATTRIBUTES;
в) типу последовательность NOT UNTAGGED, без окончательной команды кодирования USE-NIL, но с окончательной командой кодирования EMBED-VALUES (см. 24.3.1.4);
г) типу последовательность NOT UNTAGGED без окончательной команды кодирования EMBED-VALUES, но с окончательной командой кодирования USE-NIL, OPTIONAL компонент которой - посимвольно кодируемый тип;
д) типу последовательность NOT UNTAGGED с окончательной командой кодирования EMBED-VALUES и с окончательной командой кодирования USE-NIL, OPTIONAL компонент которой - типа последовательность.
22.2.3 Если применяется ограничение 22.2.2 (а) и "empty" - допустимое значение "ExtendedXMLValue" для одного из абстрактных значений (скажем, V), возможно, ограниченного типа, и V отличается от значения "Value" в "DefaultForEmptylnstruction", то должен быть, по крайней мере, один альтернативный результат кодирования для V.
22.2.4 Если применяются ограничения 22.2.2 (б) или (г), и "empty" - допустимое значение "ExtendedXMLValue" для одного из абстрактных значений (скажем, V) UNTAGGED компонента (случай б) или OPTIONAL компонента, (случай г), и V отличается от значения "Value" в "DefaultForEmptylnstruction", то должен быть, по крайней мере, один альтернативный результат кодирования для V.
Примечание - Признается, что некоторые инструменты АСН.1 не в состоянии статически проверить, что вышеупомянутые ограничения соответствуют всем абстрактным значениям, но соответствующие кодировщики не могут продуцировать результаты кодирования, в которых "ExtendedXMLValue" нарушает это ограничение.
22.2.5 Если применяется ограничение 22.2.2 (в), то тип SEQUENCE должен быть ограничен так, чтобы (без DEFAULT-FOR-EMPTY) не было абстрактного значения, которое продуцировало бы пустой контент для заключающего элемента.
22.2.6 Если посимвольно кодируемый тип [случай 22.2.2 (а)] с этой окончательной командой кодирования имеет тип, являющийся типом последовательность-из или набор-из с окончательной командой кодирования LIST, или типам выбора с окончательной командой кодирования USE-UNION, тогда эта окончательная команда кодирования должна игнорироваться.
22.2.7 Эта команда кодирования не должна быть назначена, если нет команды кодирования GLOBAL-DEFAULTS MODIFIED-ENCODINGS в разделе управления кодированием.
22.2.8 Тип с этой окончательной командой кодирования не должен иметь окончательных команд кодирования ANY-ELEMENT, ATTRIBUTE или UNTAGGED.
Примечание - Окончательные команды кодирования ANY-ATTRIBUTES, USE-TYPE не могут применяться с этой окончательной командой кодирования, их применение к этому типу запрещено.
22.2.9 В "TargetList" не должно быть уточняющей информации.