ГОСТ Р ИСО/МЭК 40220—2015
Приложение А
(справочное)
Тип медиа «appllcation/soap+xml»
Исходное содержимое данного раздела неактуально (см. RFC3902 (RFC 3902]).
Приложение В
(справочное)
Отображение имен,
определенных приложениями, в имена XML
Это приложение детализирует алгоритм отображения определенных приложениями имен, таких как имена пе
ременных или полей в языках программирования, в символы Unicodeдля того, чтобы имена были корректными име
нами элементов и атрибутов XML всоответствии со спецификацией пространств имен вXML (Namespaces in XML],
Шестнадцатеричные цифры
(5]hexD*git ::=[0-9A-F]
В.1 Правила для отображения имен, определенных приложениями, в имена XML
1XML имя состоит из двух частей: Prefix и LocalPart. Пусть Prefixопределяется в соответствии с правилами
и ограничениями, определенными в (Namespaces in XML].
2 Пусть Г— это имя в приложении, представленное в виде последовательности символов, закодированных
в определенной кодировке.
3 Пусть М— определенная реализацией функция для перекодирования символов, используемых вопреде
ленных приложениями именах, в эквивалентные строки символов Unicode.
П р и м е ч а н и я
1 В идеальном варианте, если это перекодирование из не-Unicode кодировки, то оно должно быть и обра
тимым. и нормализующим по форме С Unicode (т.е. комбинирование последовательности представлены в пред
писанном каноническом порядке). Следует заметить, что некоторые перекодирования не могут быть совершенно
обратимыми, и в некоторых случаях нормализация по форме С (NFC) гложет изменить исходную последователь
ность (см. [CharMod]). Для того, чтобы обеспечить соответствие имен после перекодировки, последовательности
Unicode должны быть нормализованы с формы нормализации С Unicode.
2 Перекодирование преобразует в скалярные значения Unicode («кодовые позиции»), а не в какую-либо
определенную схему кодирования символов Unicode, такую как UTF-8 или UTF-16.
3 Корректные последовательности суррогатных пар должны быть преобразованы в соответствующие им ска
лярные значения («кодовые позиции») (т.е. последовательность U+D800 U+DCOOдолжна быть перекодирована в
символ U+10000). Если перекодирование определено для кодировки Unicode, то несоответствующие (не являю
щиеся самыми короткими формами) последовательности UTF -8 и UTF-16 должны быть преобразованы всоответ
ствующие им скалярные значения.
4 Количество символов в Т не обязательно совпадает с количеством символов в М, потому что перекодиро
вание может быть и таким, что один символ кодируется несколькими, и наоборот, несколько символов кодируются
одним. Детали перекодирования могут определяться реализацией. В редких случаях нет никакого эквивалентного
представления Unicode для Т. Такие случаи здесь не описаны.
1 Пусть С — последовательность скалярных значений Unicode (символов), составляющих М(Т).
2 Пусть N — число символов в С. Пусть С,. С2... Сы— символы С. представленные в логическом порядке от
наиболее значащего к наименее значащему.
3Для каждого i между 1(единицей) и N. пустьX,— строка изсимволов Unicode, определенная по следующим
правилам.
Варианты:
1) Если С, не определен (т.е. некоторый символ или последовательность символов из символьной последо
вательности приложения Тне содержат отображения в Unicode), то X, определяется реализацией.
2) Если / <= N-1и С,= «_» (U+005F. НИЖНЕЕ ПОДЧЕРКИВАНИЕ), и С,*, = «х» (U+0078. ЛАТИНСКАЯ СТРОЧ
НАЯ БУКВА X), то можно полагать, что Х;, станет равным «_x005F_».
3) Если I =1. N >= 3 и С, = «х» (U+0078, ЛАТИНСКАЯ СТРОЧНАЯ БУКВА X) или «X» (U+0058. ЛАТИНСКАЯ
ПРОПИСНАЯ БУКВА X), и С2= «т» (U+006D. ЛАТИНСКАЯ СТРОЧНАЯ БУКВА М) или «М» (U+004D. ЛАТИНСКАЯ
ПРОПИСНАЯ БУКВА М). и Сэ = «I» (U+006C. ЛАТИНСКАЯ СТРОЧНАЯ БУКВА L) или «L» (U+004C. ЛАТИНСКАЯ
ПРОПИСНАЯ БУКВА L) (другими словами, в строке из трех или более символов, начинающейся с «xml», каждая
буква может быть строчной или прописной). Если С, — это «х» (U+0078. ЛАТИНСКАЯ СТРОЧНАЯ БУКВА X), то
28