12.1 Окончательные команды кодирования для типа могут:
а) требовать использование альтернатив "ExtendedXMLValue", которые не являются альтернативами "XMLValue" для этого типа;
Примечание - Альтернативы продукционного правила "ExtendedXMLValue" включают и (неизмененные) альтернативы продукционного правила "XMLValue", используемого в BASIC-XER, и альтернативные продукционные правила, выбранные командами XER кодирования.
б) изменить имя ассоциативного тега, "AttributeName" или значение атрибута идентификатора типа для кодирования этого типа;
в) послужить причиной того, что "ExtendedXMLValue" компонента типа АСН.1 будет вставлено как "CharacterEncodableValue" в "QuotedValue" атрибута ("Attribute") (см. 19.3.3);
г) определить имя пространства имен XML для референтных имен типа и идентификаторов, определенных в модуле АСН.1, и рекомендовать префикс пространства имен для использования с этим пространством имен;
д) определить, когда имя, ограниченное пространством имен (вместо неограниченного имени) должно быть использовано в XML элементе или как имя XML атрибута;
е) определить удаление связанных тегов, имеющее обычно результатом либо нетегированный текст, либо контент частичного XML элемента (которому может предшествовать или за которым может следовать другой контент частичного XML элемента - см. приложение В);
ж) определить вставку одной или более команд обработки XML или одного или более комментария ХМL (см. раздел 29):
- перед связанным предшествующим тегом или связанным пустым от элемента тегом;
- между связанным предшествующим тегом и "ExtendedXMLValue";
Примечание 1 - Это препятствует использованию ассоциированного пустого от элемента тега.
- между "ExtendedXMLValue" и связанным последующим тегом;
Примечание 2 - Это препятствует использованию ассоциированного пустого от элемента тега.
- после ассоциированного последующего тега.
Примечание 3 - Все четыре варианта вставки препятствуют использованию UNTAGGED при удалении ассоциированных тегов (см. 29.2.2).
12.2 Команды XER кодирования могут быть назначены типам АСН.1 с использованием либо продукционного правила "Encodinglnstruction" в префиксе типа XER, либо продукционного правила "EncodinglnstructionAssignmentList" в управляющем разделе кодирования XER. Назначение с использованием префикса типа определено в этом разделе. Назначение с использованием управляющего раздела копирования* XER описано в разделе 13.
________________
* Текст документа соответствует оригиналу. - Примечание изготовителя базы данных.
Примечание - Действие множественных назначений команд кодирования той же самой категории описано в разделе 14.
12.3 Продукционным правилом команды кодирования XER "Encodinglnstruction" является:
Encodinglnstruction::= |
Positivelnstruction |
| Negatinglnstruction |
Positivelnstruction::= |
AnyAttributelnstruction |
| AnyElementlnstruction |
| Attributelnstruction |
| Base64lnstruction |
| Decimallnstruction |
| DefaultForEmptylnstruction |
| EmbedValueslnstruction |
| GlobalDefaultslnstruction |
| Listlnstruction |
| Namelnstruction |
| Namespacelnstruction |
| PlOrCommentlnstruction |
| Textlnstruction |
| Untaggedlnstruction |
| UseNillnstruction |
| UseNumberlnstruction |
| UseOrderlnstruction |
| UseQNamelnstruction |
| UseTypelnstruction |
I UseUnionlnstruction |
I Whitespacelnstruction |
Negatinglnstruction::= |
NOT Positivelnstruction |
| Elementlnstruction |
12.4 "Elementlnstruction" (см. раздел 19) является строгим синонимом для NOT UNTAGGED и не обсуждается в этом разделе.
Примечание 1 - Синоним ELEMENT предоставляется, чтобы избежать двойного отрицания и для лучшего понимания текста. Обычно он будет использоваться (в противоположность команде кодирования ATTRIBUTE), для того чтобы различать природу типов высшего уровня в модуле АСН.1. Типы высшего уровня, которые не имеют окончательных команд кодирования ELEMENT и ATTRIBUTE, будут поддерживаться типами, которые прямо не соответствуют XML атрибутам или элементам и обычно бывают UNTAGGED.
Примечание 2 - Для команды кодирования ELEMENT не существует команды отрицания. ELEMENT может быть отменен последующей командой кодирования UNTAGGED, но такой прием не рекомендуется.
12.5 Каждое использование команды "Positivelnstruction" в префиксе типа XER или в управляющем разделе кодирования назначает эту команду кодирования XER соответствующему типу "Туре".