ГОСТ Р ИСО/МЭК 8825-4 — 2009
в) типу последовательность 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" не должно быть уточняющей информации.
22.3 Действие на результат кодирования
22.3.1 Эта команда кодирования действует только на значение "ExtendedXMLValue" типа, который
управляет "значением" "Value" (см. 22.1.5).
22.3.2 Результат кодирования "ExtendedXMLValue" абстрактного значения, специфицированного"Value"
будет (как выбор кодера) одним из следующих;
а) результат кодирования "ExtendedXMLValue" того значения, которое было бы продуцировано, если
бы DEFAULT-FOR-EMPTY отсутствовал (нормальный результат кодирования);
б) "пустой" "empty".
П р и м е ч а н и е — От декодеров требуется, чтобы они принимали и нормальный результат кодирования
и "пустой" как обозначение пустого по умолчанию значения DEFAULT-FOR-EMPTY.
22.3.3 Если применяется ограничение 22.2.2 (а) и "пустой" "empty” есть допустимое значение
"ExtendedXMLValue" для одного из абстрактных значений (скажем, V) типа и V отличается от "значения"
"Value*, специфицированного в "DefaultForEmptylnstruction”.тогда любая из альтернатив результата кодиро
вания для V должна использоваться (как опция кодера) вместо "пустого" "empty".
22.3.4 Если применяются ограничения 22.2.2 (б) или (г) и "пустое" "empty" — допустимое значение
"ExtendedXMLValue” для одного из абстрактных значений (скажем. V) UNTAGGED компонента (случай (б)]
или OPTIONAL компонента (случай (г)] и V отличается от "значения” "Value", специфицированного в
"DefaultForEmptylnstruction", тогда любой из альтернативных результатов кодирования для V должен
использоваться (какопция кодера) вместо "пустого" "empty".
45