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 Последнее значение UTF8String (если есть одно) должно быть вставлено в конец результата частичного кодирования после завершающего тега последнего 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).
24.3.1.6 Если тип также имеет окончательную команду кодирования USE-NIL и OPTIONAL компонент отсутствует, то команда кодирования EMBED-VALUES не оказывает действие на результат кодирования. Если тип также имеет окончательную команду кодирования USE-NIL и OPTIONAL компонент присутствует, тогда применяется условие 24.3.1.4. Если декодер определяет, что OPTIONAL компонент присутствует по отсутствию атрибута идентификации пустого множества (или его присутствию со значением false), тогда применяется условие 24.3.1.5.