Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 8825-4-2009 Информационная технология (ИТ). Правила кодирования АСН.1. Часть 4. Правила XML кодирования (XER)

     22.2 Ограничения

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" не должно быть уточняющей информации.