ГОСТ Р ИСО/МЭК 8825-4 — 2009
24.2.6 Ни один из компонентов последовательности недолжен быть отмечен DEFAULT, если только
они не имеют окончательной команды кодирования ATTRIBUTE. Если есть компоненты типа SEQUENCE
или SET (на любой глубине), то возможно создание элементов в "ExtendedXMLValue" с использованием
UNTAGGED — непосредственных дочерних элементов типа последовательность. Они не должны быть
отмечены как DEFAULT.
24.2.7 Тип последовательностьдолжен быть ограничен таким способом что:
а) если тип имеет окончательную команду кодирования USE-NIL и OPTIONAL компонент, поддержи
вающий USE-NIL. отсутствует, число повторений компонентов последовательность-изобязано быть нулем;
б) иначе, число повторений компонентов последовательность-из в каждом абстрактном значении рав
но единице плюс число элементов XML в "ExtendedXMLValue" типа последовательность, определенного
после применения всех окончательных команд кодирования кдругим компонентам последовательности и
игнорирования первого компонента.
П р и м е ч а н и е — Рекомендуется выражать ограничение типа последовательность как:
(CONSTRAINED BY
{/’ Должно соответствовать ИСО/МЭК 8825-4. раздел 25 */})
24.2.8 Эта команда кодирования не должна быть назначена, если нет команды кодирования
GLOBAL-DEFAULTS MODIFIED-ENCODINGS в разделе управления кодированием.
24.2.9 Тип с этой окончательной командой кодирования не должен иметь окончательной команды
кодирования UNTAGGED.
П р и м е ч а н и е — Нижеперечисленные окончательные команды кодирования не должны появляться
вместе с этой окончательной командой кодирования потому, что их применение к типу запрещается: ANY-
ATTRIBUTES, ANY-ELEMENT. ATTRIBUTE. BASE64. DECIMAL. LIST. TEXT. USENUMBER. USE-QNAME. USE-
TYPE. USE-UNION. WHITESPACE.
24.2.10 В "TargetList" недолжно быть уточняющей информации.
24.3Действие на результат кодирования
24.3.1 Кодер должен сначала продуцировать частичный результат "ExtendedXMLValue" кодирования
типа включающая последовательность, игнорируя первый компонент. Этодолжно модифицировать резуль
тат кодирования, как определено в следующих подразделах.
П р и м е ч а н и е — Значения UTF8String, которые вставляются, могут быть "пустыми".
24.3.1.1 Первое значение UTF8String должно быть вставлено в последовательность-из (см. 24.3.1.6)
в начале результата частичного кодирования перед начальным тегом первого XML элемента (если есть
хотя бы один).
24.3.1.2 Каждое последующее значение UTF8String (если есть хотя бы одно) должно быть вставлено
между завершающим тегом XML элемента и начальным тегом следующего XML элемента, начиная от
первого элемента к последнему.
П р и м е ч а н и е — Вышеупомянутое подразумевает, что в каждый из этих элементов не вставлено
UTF8String значение, даже если они имеют дочерние элементы.
24.3.1.3 Последнее значение UTF8Stnng (если есть одно)должно быть вставлено в конец результата
частичного кодирования после завершающего тега последнего XML элемента.
24.3.1.4 Если XML элементы отсутствуют в результате частичного кодирования, и есть также оконча
тельная команда кодирования DEFAULT-FOR-EMPTY (см. 22). примененная к типу последовательность, и
значение первой (и только) UTF8String в последовательности-из идентично "значению" "Value", специфици
рованному в команде кодирования DEFAULT-FOR-EMPTY. то кодер может опционально закодировать
UTF8String как пустую строку (но см. 24.3.1.6).
24.3.1.5 Если XML элементы отсутствуют в результате частичного кодирования и есть окончательная
команда кодирования DEFAULT-FOR-EMPTY. примененная к типу последовательность, и результат кодиро
вания — пуст, декодер должен интерпретировать это как результат кодирования для "значения" "Value",
специфицированного в команде кодирования DEFAULT-FOR-EMPTY и назначить это абстрактное значение
первой (и только) UTF8String в последовательности-из (но см. 24.3.1.6).
П р и м е ч а н и е — Это означает, что значение без XML элементов и с единственным пустым значением
UTF8String не гложет быть закодировано. Тип последовательность обязан быть ограниченным, чтобы запретить
такие значения (см. 22.2.5).
47