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

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

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

19.1.1 В настоящем разделе описывается синтаксис для отображения значений (и номеров тегов), которые кодируются полями одной структуры кодирования (она может быть генерируемой структурой кодирования или любой другой структурой кодирования) в поля другой структуры кодирования.

Примечание - Возможности, которые обеспечиваются при отдельном использовании этой нотации, ограничены (во избежание усложнения). Более сложные отображения могут быть достигнуты с помощью нескольких экземпляров "EncodeByValueMapping" (см. 17.4 и пример в D.1.10.2). Эти механизмы отображения могут быть расширены и обобщены, но это не будет делаться, пока не определены дальнейшие требования пользователей.

19.1.2 В спецификации нотации "EncodeByValueMapping" (см. 17.4.1) структура, к которой разыменует "DefinedOrBuiltinEncodingClass" в "EncodingObjectAssignment" (см. 17.1.1), частью которого она является, называется руководителем источника или классом кодирования источника (в зависимости от контекста). Структура, к которой "DefinedOrBuiltinEncodingClass" в "EncodeByValueMapping" сам разыменуется, называется руководителем цели или классом кодирования цели (в зависимости от контекста).

19.1.3 Если руководитель источника имеет начальный класс в категории "тег", то руководитель цели должен иметь начальный класс в категории "тег", а номер тега класса в руководителе источника отображается в номер тега класса в категории "тег" в руководителе цели. Если класс в категории "тег" в руководителе цели имеет связанный номер тега, то будет ошибка спецификации ECN, когда он отличается от номера тега, отображенного из руководителя источника.

19.1.4 Если руководитель источника не имеет начального класса в категории "тег", то руководитель цели не должен иметь начального класса в категории "тег", но если он его имеет, то в определении руководителя цели должен быть номер тега, связанный с этим тегом.

19.1.5 Влияние наличия начального класса в категории "тег" в руководителях источника или цели полностью определяется в 19.1.3 и 19.1.4, а в последующем тексте возможное присутствие таких классов игнорируется.

19.1.6 Кодирования, определенные для значений, отображенных в класс кодирования цели, становятся кодированиями таких значений в классе кодирования источника.

Примечания

1 Если полная спецификация ECN отображает только некоторые из значений типа АСН.1 в кодирования, то это не будет ошибкой. Это является ограничением, наложенным ECN на значения, которые могут использоваться приложением. Такие ограничения обычно указываются в комментариях или в спецификации АСН.1 или в спецификации ECN (см. 17.4.7).

2 Если полная спецификация ECN отображает два значения в одно и тоже кодирование, образованное единичным объектом кодирования, то это будет ошибкой спецификации ECN. Такие ошибки могут обнаруживаться средствами ECN, но правила их избежания не завершены в настоящем стандарте, а ответственность остается за пользователем ECN.

19.1.7 Продукцией "ValueMapping" является:

ValueMapping ::=

MappingByExplicitValues

| MappingByMatchingFields

| MappingByTransformEncodingObjects

| MappingByAbstractValueOrdering

| MappingByValueDistribution

| MappinglntToBits


Примечание - Перед любым местоположением этого синтаксиса помещается зарезервированное слово MAPPING (в D.1.2.2, D.1.4.2, D.1.10.2, D.2.1.3 и в приложении А приведены примеры определения кодирований с использованием каждого из этих отображений значения).

19.1.8 Продукции "ValueMapping" определяются в следующих разделах:

MappingByExplicitValues

19.2;

MappingByMatchingFields

19.3;

MappingByTransformEncodingObjects

19.4;

MappingByAbstractValueOrdering

19.5;

MappingByValueDistribution

19.6;

MappinglntToBits

19.7.


Примечание - Часто случается, что несколько отображений значения могут использоваться для определения одного и того же кодирования, но некоторые будут давать более ясную и менее многословную спецификацию, чем другие. Разработчикам ECN следует осторожно выбирать форму отображения значений для использования.