Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 8825-4-2009 Информационная технология (ИТ). Правила кодирования АСН.1. Часть 4. Правила XML кодирования (XER)

     12 Назначение команды XML кодирования типу АСН.1 с использованием префикса типа

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 соответствующему типу "Туре".