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

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

     34.2 Ограничения

34.2.1 Эта команда кодирования должна быть назначена только типу последовательность. Тип последовательность должен содержать компонент типа последовательность-из (скажем, тип А) с компонентом перечислимого типа. Если тип последовательность не имеет также окончательных команд кодирования EMBED-VALUES, тогда тип А должен быть первым компонентом, а в противном случае - вторым. Если нет окончательной команды кодирования USE-NIL, тип последовательность должен также иметь хотя бы один компонент без окончательных команд кодирования ATTRIBUTE или ANY-ATTRIBUTES (компонент, не являющийся атрибутом). Если есть окончательная команда кодирования USE-NIL, то OPTIONAL компонент, поддерживающий USE-NIL, будет типа последовательность, и должен иметь, по крайней мере, один компонент.

34.2.2 Перечислимый тип должен иметь идентификаторы, которые зависят от присутствия или отсутствия окончательной команды кодирования USE-NIL, применяемой к типу последовательность с командой кодирования USE-ORDER, как определено в следующих подпунктах.

34.2.2.1 Если нет окончательной команды кодирования USE-NIL, то перечислимый тип должен иметь идентификаторы для перечисления, которые находятся во взаимно-однозначном соответствии (и находятся в том же текстовом порядке) с идентификаторами следующих компонентов последовательности, не являющихся атрибутами (см. 34.2.1). Тип последовательность-из должен быть ограничен так, чтобы каждое абстрактное значение содержало точно один идентификатор для каждого компонента последовательности, не являющегося атрибутом, который присутствует в абстрактном значении.

34.2.2.2 Если есть окончательная команда кодирования USE-NIL, то перечислимый тип должен иметь идентификаторы для перечислений, которые находятся во взаимно-однозначном соответствии (и находятся в том же текстовом порядке) с идентификаторами компонентов компонента OPTIONAL в типе последовательность. Тип последовательность-из должен быть ограничен так, чтобы каждое абстрактное значение содержало точно один идентификатор для каждого OPTIONAL компонента последовательности, который присутствует в абстрактном значении.

Примечание - Рекомендуется ограничение на тип последовательность выражать как:

(CONSTRAINED BY {/* Должен соответствовать ИСО/МЭК 8825-4, часть 35 */})

34.2.2.3 "Enumerationltem"'s в перечислениях все должны быть "Идентификаторами" или "ПоименованнымиЧислами" ("NamedNumber") со значения 0 для первой позиции "Enumerationltem", 1 - для второй, и так далее, до последней позиции "Enumerationltem".

34.2.3 Тип последовательность-из не должен быть отмечен OPTIONAL или DEFAULT.

34.2.4 Следующие компоненты последовательности (если нет окончательной команды кодирования USE-NIL) и компонент OPTIONAL последовательности (если есть окончательная команда кодирования USE-NIL) не должны быть отмечены DEFAULT, если только они не имеют окончательной команды кодирования ATTRIBUTE.

34.2.5 Никакой компонент любой последовательности с этой окончательной командой кодирования или OPTIONAL последовательности (когда есть окончательная команда кодирования USE-NIL), не должен иметь окончательной команды кодирования UNTAGGED, независимо оттого, является ли тип этого компонента посимвольно кодируемым или нет.

34.2.6 Никакой компонент последовательности с этой окончательной командой кодирования не должен иметь окончательной команды кодирования ANY-ELEMENT.

34.2.7 Эта команда кодирования не должна быть назначена, если нет команды кодирования GLOBAL-DEFAULTS MODIFIED-ENCODINGS в разделе управления кодированием.

34.2.8 Тип с этой окончательной командой кодирования не должен иметь окончательной команды кодирования UNTAGGED.

Примечание - Нижеперечисленные окончательные команды кодирования никогда не могут появляться с этой окончательной командой кодирования потому что их применение к этому типу запрещено: ANY-ATTRIBUTES, ANY-ELEMENT, ATTRIBUTE, BASE64, DECIMAL, LIST, TEXT, USENUMBER, USE-QNAME, USE-TYPE, USE-UNION, WHITESPACE.

34.2.9 В "TargetList" не должно быть уточняющей информации.