ГОСТ Р ИСО/МЭК 8825-4 — 2009
7.6.2 Неизвестные расширения впоследовательности или типе набора приводят к неожидаемым эле
ментам XML с именами, отличными от имен следующего ожидаемого элемента XML.
7.6.3 Неизвестные расширения в типе выбора приводят к единственному неожидаемому элементу
XML вместо элемента, соответствующего одному из известных выборов. Он всегда будет иметь имя эле
мента XML . отличное от имени любого элемента XML. который кодирует известную альтернативу типа
выбора.
7.6.4 Неизвестные расширения в перечислимом типе приводят к элементу XML с неожидаемым со
держанием. но без неожидаемыхэлементов XML.
7.6.5 Неизвестные расширения, возникающие при смягчении ограничений на подтип, приводят к ко
дированию. которое может быть правильным кодированием любого типа, не имеющего ограничений. Такое
кодирование может продуцировать неожидаемое содержание, но без неожидаемыхэлементов XML.
8 Канонические правила XML кодирования
В случае если "XMLTypedValue" содержит возможности выбора, настоящий раздел допускает опреде
ление строго одного варианта выбора для получения уникального кодирования. Условия настоящего раз
дела определяют канонические правила XML кодирования.
8.1 Общие правила для канонического XER
8.1.1 XML прологдолжен быть пустым (см. 7.2.1).
8.1.2 Все лексические единицы, формирующие ’’XMLTypedValue", недолжны иметь пробел ("white-
space") между ними (см.7.3.3).
П р и м е ч а н и е — Это правило гарантирует, что цифровая подпись документа может быть легко
сгенерирована без учета любой возможной вставки разделителя между лексическими элементами
•■XMLTypedValue".
8.1.3 ESC-последовательности, описанные в ИСО/МЭК 8824-1.11.15.8. не используют.
8.1.4 Если нотация XML значений разрешает использовать пустой XML тег (см. ИСО/МЭК 8824-1,
15.5,16.8). то должен использоваться этот пустой тег.
8.2 Действительные значения
8.2.1 Действительное значение нуля должно быть кодировано как "0”.
8.2.2 Для всех других действительных значений ограничения, применяемые к "realnumber”
(см. ИСО/МЭК 8824-1,11.9). определяют следующие подпункты.
8.2.3 Значение "Realnumber" должно быть нормализовано так. чтобы его целая часть состояла из
одной цифры, отличной от нуля. Десятичная точка должна присутствовать и должна сопровождаться дроб
ной частью, содержащей как минимум одну цифру (может быть нулем). Дробная часть недолжна содер
жать замыкающие нули, следующие после первой цифры.
8.2.4 Дробная часть значения "Realnumber-должна сопровождаться *Е" (не
"в")
и показателем степени
(может быть нулем).
П р и м е ч а н и е — Использование ведущих нулей в показателе степени запрещено ИСО/МЭК8824-1, 11.9.
8.2.5 Знак"+" не должен присутствовать ни перед целой частью значения "Realnumber", ни перед
показателем степени.
8.3 Значение "битовая строка"
8.3.1 Если альтернатива "XMLTypedValue" для "XMLBitSt/ingValue" (см. ИСО/МЭК 8824-1, 21.9)
может быть использована (как определено в ИСО/МЭК 8824-1,21.10), то она должна быть использована. В
противном случаедолжна быть использована альтернатива "xmlbstring" со всеми удаленными пробелами
"white-space” (см. 7.3.3).
8.3.2 Если тип битовой строки — "NamedBitList", то не должно быть битов с замыкающими нулями
(см. ИСО/МЭК 8824-1, 21.7).
8.4 Значение строки октетов (octetstring)
Если альтернатива "XMLTypedValue" для "XMLOctetStringValue" (см. ИСО/МЭК 8824-1.22.3) может
быть использована (как определено в ИСО/МЭК 8824-1,22.4). то она должна быть использована.
В противном случаедолжна быть использована альтернатива “xmlbstring’ со всеми удаленными пробела
ми "white-space" (см. 7.3.3) и все буквы должны быть заглавными.
8