9.2.1 Если по спецификации АСН.1 инструкции XER кодирования назначаются в соответствии с разделами 10-16, так что тип или компонент АСН.1 имеют окончательные команды кодирования, которые нарушают ограничения, определенные в разделах 17 и последующих, то эта спецификация АСН.1 не согласуется с данным Международным стандартом, даже если (без команд XER кодирования) она соответствует всем требованиям ИСО/МЭК 8824-1.
Примечание - Назначение команды кодирования "Туре" может быть только случайно неуточненным, так как она может быть сделана недействительной (удаленной из набора связанных команд кодирования) последующим назначением. Обычно окончательная команда кодирования определяет соответствие спецификации. В некоторых случаях окончательная команда кодирования, не применимая к типу, к которому ее пытаются применить, игнорируется. Если разделы, определяющие синтаксис и применение команд кодирования, идентифицируют обстоятельства, при которых команда кодирования игнорируется в применении окончательных команд кодирования, то разделы, специфицирующие кодирование, обычно не упоминают возможное наличие этой окончательной команды кодирования.
9.2.2 Соответствующее EXTENDED-XER кодирование типа АСН.1 без окончательных команд кодирования будет кодированием, произведенным по Базовым правилам XML кодирования (BASIC-XER), специфицированным в разделе 8 с дополнительными опциями кодера, определенными в 9.2.5 и 9.2.6.
Примечание - Чтобы принять и обработать декларацию типа документа W3C XML, требуется наличие декодеров EXTENDED-XER (см. 9.2.4), но они не генерируются соответствующими кодерами и не составляют части EXTENDED-XER кодирования.
9.2.3 EXTENDED-XER кодирование типа АСН.1 с окончательными командами кодирования или с компонентами (на любой глубине и после разрешения всех ссылок на типы), которые имеют связанные команды кодирования, будет кодированием, специфицированным в разделе 16.
Примечание - Окончательные команды кодирования применяются в EXTENDED-XER кодировании и также используются декодерами и средствами проверки достоверности EXTENDED-XER кодирования.
9.2.4 Декодеры EXTENDED-XER (при использовании команды MODIFIED-ENCODINGS - см. 25) будут обрабатывать декларацию любого типа документа (см. W3C XML 1.0, 2.8), которая присутствует в соответствии с требованиями XML процессора, не осуществляющего подтверждение правильности (см. W3C XML 1.0, 5.1). Такая обработка будет выполняться (концептуально) до применения всех других требований декодирования в этом Международном стандарте. Кодеры EXTENDED-XER не будут включать декларацию типа документа.
9.2.5 Кодер EXTENDED-XER может (в качестве опции кодера) вставлять команды обработки XML или комментарии XML (в дополнение к любым, которые могут потребоваться в соответствии с разделом 29) в элемент документа XML или пролог XML в любую позицию, разрешенную W3C XML 1.0. Синтаксическая форма и семантика команд обработки XML определены в W3C XML 1.0, 2.6. Синтаксическая форма и семантика комментариев XML определены в W3C XML 1.0, 2.5.
9.2.6 Если команда кодирования GLOBAL-DEFAULTS с ключевым словом MODIFIED-ENCODINGS отсутствует (см. 25) в управляющем разделе XER кодирования, то:
a) "XMLIntegerValue" (см. ИСО/МЭК 8824-1, 18.9) может быть либо "XMLSignedNumber", либо "EmptyElementlnteger" как опция кодера;
б) "XMLBitStringValue" (см. ИСО/МЭК 8824-1, 21.9) может быть любой альтернативой этого продукционного правила как опция кодера. Если используется "XMLIdentifierList", то это "EmptyElementList".
9.2.7 Если в управляющем разделе XER кодирования имеется команда кодирования GLOBAL-DEFAULTS с ключевым словом MODIFIED-ENCODINGS (см. раздел 25), то:
а) "XMLBooleanValue" (см. ИСО/МЭК 8824-1, 17.3) должно быть "TextBoolean";
б) "ExtendedXMLIntegerValue" (см. 16.4) должно быть альтернативой "ModifiedXMLIntegerValue", определенной в 16.8;
Примечание - Это разрешает использование текстового значения для "NamedNumber" целого типа, как опцию кодера, но также модифицирует синтаксис для численного кодирования целого значения.
в) "ExtendedXMLEnumeratedValue" (см. 33.3) не должно быть "EmptyElementEnumerated";
Примечание - В отсутствие команды GLOBAL-DEFAULTS ключевого слова MODIFIED-ENCODINGS "ExtendedXMLEnumeratedValue" не может быть "TextEnumerated" (см. 7.3.4.1 и 33.3).
г) "ExtendedXMLRealValue" (см. 16.4) должно быть альтернативой "ModifiedXMLRealValue", определенной в 16.9;
д) "XMLSpecialRealValue" (см. ИСО/МЭК 8824-1, 20.6) должно быть альтернативой "TextReal";
е) альтернативой "XMLIdentifierList" в "XMLBitStringValue" (см. ИСО/МЭК 8824-1, 21.9) должно быть "TextList" (см. 9.2.8 б);
ж) "XMLSequenceOfValue" и "XMLSetOfValue" (см. ИСО/МЭК 8824-1, 24.3 и 26.3) должно быть "XMLDelimitedltem" для всех типов компонентов, причем Таблица 5 не учитывается (см. ИСО/МЭК 8824-1, 25.5);
з) "xmlhstring" (см. ИСО/МЭК 8824-1,11.13) не должно содержать пробелов (см. 7.1.4);
и) все появления пробелов, которые либо вне XML тегов, либо внутри значений XML атрибутов, могут быть пробелом с переходом (см. 7.1.5) как опция кодера.
Примечание - Существует несколько команд кодирования (таких как UNTAGGED), которые не могут быть использованы, за исключением команды GLOBAL-DEFAULTS ключевого слова MODIFIED-ENCODINGS.
9.2.8 Если команда кодирования GLOBAL-DEFAULTS с ключевым словом MODIFIED-ENCODINGS (см. 25) присутствует в управляющем разделе XER кодирования, то EXTENDED-XER кодер может (в качестве опций кодера):
а) использовать альтернативу "Textlnteger" для "ModifiedXMLIntegerValue" (см. 16.8), при условии, что существует "NamedNumber" для целого значения в определении типа (см. также 9.2.7 б);
Примечание - Использование этого вида кодирования с поименованными значениями, который был добавлен в более позднюю версию, может сделать абстрактные значения нечитаемыми при внедрении более ранней версии спецификации.
б) использовать "XMLIdentifierList" (см. ИСО/МЭК 8824-1, 21.9) для "XMLBitStringValue", при условии, что значение битовой строки, которая должна быть закодирована, не содержит непоименованных битов (см. также 9.2.7 е);