Spec-Zone .ru
спецификации, руководства, описания, API

10.4.4.2. Синтаксис LDML, Поддерживаемый в MySQL

Этот раздел описывает синтаксис LDML, который распознает MySQL. Это - подмножество синтаксиса, описанного в спецификации LDML, доступной в http://www.unicode.org/reports/tr35/, с которым нужно консультироваться для дополнительной информации. MySQL распознает достаточно большое подмножество синтаксиса, что во многих случаях возможно загрузить определение сопоставления с Unicode Общий Репозитарий Данных Локали и вставить соответствующую часть (то есть, часть между <rules> и </rules> теги) в MySQL Index.xml файл. Правила, описанные здесь, все поддерживаются за исключением того, что символьная сортировка происходит только на основном уровне. Правила, которые определяют различия на вторичных или более высоких уровнях вида, распознаются (и таким образом может быть включен в определения сопоставления), но обрабатываются как равенство на основном уровне.

Сервер MySQL генерирует диагностику, когда это находит проблемы, анализируя Index.xml файл. См. Раздел 10.4.4.3, "Диагностика Во время Index.xml Парсинг".

Символьное Представление

Символы, названные в правилах LDML, могут быть записаны буквально или в \unnnn формат, где nnnn шестнадцатеричное значение кодовой точки Unicode. Например, A и á может быть записан буквально или как \u0041 и \u00E1. В пределах шестнадцатеричных значений, цифр A через F не являются чувствительными к регистру; \u00E1 и \u00e1 эквивалентны. Для UCA 4.0.0 сопоставления шестнадцатеричная нотация может использоваться только для символов в Основной Многоязычной Плоскости, не для символов вне диапазона BMP 0000 к FFFF. Для UCA 5.2.0 сопоставления шестнадцатеричная нотация может использоваться для любого символа.

Index.xml сам файл должен быть записан, используя кодирование UTF-8.

Правила синтаксиса

LDML сбросил правила и правила сдвига определить символьное упорядочивание. Упорядочивания даются как ряд правил, которые начинаются с правила сброса, которое устанавливает точку привязки, сопровождаемую правилами сдвига, которые указывают как вид символов относительно точки привязки.

Специфичные для MySQL Расширения LDML

В MySQL 5.7 расширение правил LDML разрешает <collation> элемент, чтобы включать дополнительное version атрибут в <collation> теги, чтобы указать на версию UCA, на которой базируется сопоставление. Если version атрибут опускается, его значение по умолчанию 4.0.0. Например, эта спецификация указывает на сопоставление, которое основано на UCA 5.2.0:

<collation id="nnn" name="utf8_xxx_ci" version="5.2.0">...</collation>