ГОСТ Р ИСО/МЭК 40220—2015
можно полагать, что X, станет равным «_х0078_». В противном случае, если С, — это «X» (U+0058. ЛАТИНСКАЯ
ПРОПИСНАЯ БУКВА X). то можно полагать, что X, станет равным «_х0058_».
4)Если С, не является допустимым символом строк типа NCName (см. [Namespaces in XMLJ) или. если
i=1
(один) и С, не является допустимым первым символом строки типа NCName тогда:
Пусть
U}. UpU6
— шесть шестнадцатеричных цифр (см. грамматическое правило [5] выше) таких, что
скалярное значение Unicode С есть «U+я I/,
U
2...
U&
Варианты:
Если
U =0. U2=0, U3=
О. и
U4=
О. тогда можно положим Х.= «_х»
Us U6
«_».
Этот случай подразумевает, что
Ci
— символ в базовой многоязыковой плоскости (Basic Multilingual Plane,
BMP. Плоскость 0) Unicode и он может быть полностью представлен одной «кодовой позицией» UTF-16 — после
довательностью U+UjC/g.
В противном случае положим Х(. равным «_х» U,
U2 U3 U4 U5 Ue
«_».
В противном случае положим
Хг
равным М,т.е. любой символ из X, который является разрешенным симво
лом для строки типа NCName. просто копируется.
1 Положим
LocalPart.
равной конкатенации строкX,.
Х р .... XN
в порядке от наиболее значимой к наименее
значимой.
2 Положим XML имя. равным QName. согласно спецификации [Namespaces in XML],
В.2 Примеры
Hello world -> Hello_x0020_world
Hello_xorld -> Hello_x005F_xorfd
Helloworld_ -> Helloworld_
x -> x
xml -> _x0078_ml
-xml -> _x002D_xml
x-ml -> x-ml
/Elfred -> /Elfred
dyvcixiTOi; -> dyvoxjroq
Hello world -> Hello_x0020_worid
Hello_xorld -> Hello_x005F_xorld
Helloworld -> Helloworld
x->x
xml -> _x0078_ml
-xml -> _x002D_xml
x-ml -> x-ml
/Elfred -> /Elfred
dryvoxrtot -> dyvttXKoi;
17171717-> _x1709
__
x1705
__
x170E
__
x1708_
09050E08
131313-> x13D9 x13DA
__
x13A5_
D9DAA5
29