6.1 Настоящий стандарт определяет два набора правил кодирования:
- базовые правила XML кодирования (BASIC-XER);
- канонические правила XML кодирования (CANONICAL-XER).
Примечание - Если настоящий стандарт использует обозначение "XER" без уточнения, то подразумевают оба набора правил кодирования BASIC-XER и CANONICAL-XER.
6.2 Первый набор правил кодирования BASIC-XER в общем случае не производит канонического кодирования.
6.3 Второй набор правил кодирования CANONICAL-XER производит каноническое кодирование. Данный набор правил кодирования определяется как ограничение возможности выбора, зависящего от реализации в BASIC-XER кодировании.
Примечание 1 - Любая реализация, соответствующая CANONICAL-XER для кодирования, совместима с BASIC-XER для кодирования. Любая реализация, соответствующая BASIC-XER для декодирования, совместима с CANONICAL-XER для декодирования. Следовательно, кодирование, произведенное в соответствии с CANONICAL-XER, есть кодирование, разрешенное BASIC-XER.
Примечание 2 - CANONICAL-XER производит кодирование при необходимости проверки достоверности абстрактного значения.
6.4 Если тип данных, закодированный по CANONICAL-XER, содержит типы EMBEDDED PDV, EXTERNAL или CHARACTER STRING, то внешнее кодирование перестает быть каноническим, если кодирование, используемое для всех типов EMBEDDED PDV, EXTERNAL или CHARACTER STRING, не является каноническим.