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

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

     22.1 Общие положения

22.1.1 "DefaultForEmptylnstruction":

DefaultForEmptylnstruction::=

DEFAULT-FOR-EMPTY

TargetList

AS Value

22.1.2 Продукционное правило "TargetList" определено в 13.2.

22.1.3 Эта команда кодирования определяет абстрактное значение, которое может быть закодировано при EXTENDED-XER кодировании (как выбор кодера) как "пустая" альтернатива для "ExtendedXMLValue" для типа (см. 16.4), который кодируется как единственный контент элемента XML.

Примечание - Этот механизм по умолчанию поддерживает присутствие элемента XML без контента (типично, но не обязательно, закодированный как тег пустого элемента). Это отличается от использования DEFAULT АСН.1, которая связана с отсутствием "ExtendedXMLNamedValue" компонента последовательности или набора.

22.1.4 "TargetList" не должен использовать ключевое слово ALL и должен определять единственную цель.

22.1.5 Пять различных случаев, когда эта команда кодирования может использоваться, представлены ниже.

22.1.5.1 Первый случай - команда назначается непосредственно посимвольно кодируемому типу, который не является нетегированным UNTAGGED (см. раздел 31). Если включающий элемент приложения имеет пустой контент, то этот пустой контент представляет специфицированное значение "Value" посимвольно кодируемого типа (который управляет значением "Value").

22.1.5.2 Второй случай - команда назначается (NOT UNTAGGED, NOT EMBED-VALUES и NOT USE-NIL) типу последовательность, содержащему UNTAGGED посимвольно кодируемый компонент, при кодировании которого формируется единственный контент (для всех абстрактных значений типа последовательность) включающего элемента типа последовательность. Если включающий элемент типа последовательность имеет пустой контент, то этот пустой контент представляет специфицированное значение "Value" посимвольно кодируемогого типа (который управляет значением "Value").

Примечание - Посимвольно кодируемый компонент может быть единственным контентом, потому что это - единственный компонент, или он может быть единственным контентом, потому что все другие компоненты имеют окончательные команды кодирования ATTRIBUTE (см. раздел 19), или ANY-ATTRIBUTES (см. раздел 17).

22.1.5.3 Третий случай - команда назначается (NOT UNTAGGED, NOT EMBED-VALUES и NOT USE-NIL) типу последовательность с окончательной командой кодирования EMBED-VALUES (см. 24.3.1.4). Если включающий элемент типа последовательность имеет пустой контент, то этот пустой контент представляет абстрактное значение типа последовательности, который иначе продуцировал бы контент, исключительно определенный значением "Value" единственной UTF8String в последовательности-из EMBED-VALUES (UTF8String управляет значением "Value").

22.1.5.4 Четвертый случай - команда назначается (NOT UNTAGGED, NOT EMBED-VALUES) типу последовательность с окончательной командой кодирования USE-NIL (см. раздел 32), чей компонент OPTIONAL - посимвольно кодируемый тип. Если включающий элемент типа последовательность имеет атрибут идентификации пустого множества со значением true, DEFAULT-FOR-EMPTY не влияет на смысл результата кодирования. Если включающий элемент типа последовательность имеет атрибут идентификации пустого множества со значением false (или не имеет атрибута идентификации пустого множества) и имеет пустой контент, то этот пустой контент представляет специфицированное значение "Value" компонента OPTIONAL (чей тип управляет значением "Value").

22.1.5.5 Пятый случай - команда назначается (NOT UNTAGGED) типу последовательность с окончательной командой кодирования EMBED-VALUES (см. 24.3.1.4) и с окончательной командой кодирования USE-NIL (см. раздел 32), чей компонент OPTIONAL - типа последовательность. Если включающий элемент типа последовательность имеет атрибут идентификации пустого множества со значением true, DEFAULT-FOR-EMPTY не влияет на результат кодирования. Если включающий элемент типа последовательность имеет атрибут идентификации пустого множества со значением false (или не имеет атрибута идентификации пустого множества) и имеет пустой контент, то этот пустой контент представляет абстрактное значение типа последовательность, который иначе продуцировал бы контент, определенный значением "Value" единственной UTF8String в последовательности-из EMBED-VALUES (UTF8String управляет значением "Value").

22.1.6 "Value" определено ИСО/МЭК 8824-1, 16.7.

Примечание - Это позволяет использовать эталонное значение, определенное в модуле или импортированное в него (модуль). Эталонное значение может быть определено с использованием нотации значений XML (XML Value Notation), но такая нотация не может использоваться непосредственно в "DefaultForEmpty Instruction".