ГОСТ Р ИСО/МЭК 8825-4 — 2009
| UseUnionlnstruction
|Whitespacelnstruction
Negatinglnstruction::=
NOT Positivelnstruclion
| Elementlnstruction
12.4 "Elementlnstruction" (см. раздел 19) является строгим синонимом для NOT UNTAGGED и не об
суждается в этом разделе.
П р и м е ч а н и е 1 — Синоним ELEMENT предоставляется, чтобы избежать двойного отрицания и для
лучшего понимания текста. Обычно он будет использоваться (в противоположность команде кодирования
ATTRIBUTE), для того чтобы различать природу типов высшего уровня в модуле АСН.1. Типы высшего уровня,
которые не имеют окончательных команд кодирования ELEMENT и ATTRIBUTE, будут поддерживаться типами,
которые прямо не соответствуют XML атрибутам или элементам и обычно бывают UNTAGGED.
П р и м е ч а н и е 2 — Для команды кодирования ELEMENT не существует команды отрицания. ELEMENT
гложет быть отменен последующей командой кодирования UNTAGGED. но такой прием не рекомендуется.
12.5 Каждое использование команды "Positivelnstruction" в префиксе типа XER или в управляющем
разделе кодирования назначает эту команду кодирования XER соответствующему типу "Туре".
12.6 Если ’Туре" в "TypeAssignment" (см. ИСО/МЭК 8824-1,15.1) имеет окончательные команды коди
рования. все применения "typereference" (в модуле, содержащем "TypeAssignment" или в некотором дру
гом модуле) наследуют его окончательные ассоциированные команды кодирования, за исключением окон
чательных команд кодирования NAME и NAMESPACE (они не наследуются).
П р и м е ч а н и е — Эти две команды кодирования влияют на имена XML. используемые вместо
референтных имен типов. Если референтное имя типа используется для определения типа в назначении
типа или типа компонента, наследование команд кодирования, по его определению, неуместно.
12.7 Команда кодирования в префиксе типа или в управляющем разделе кодирования может быть
позитивной командой, используемой для того, чтобы добавить или заменить команду кодирования (исполь
зование "Positivelnstruction"), или негативной командой, используемой для отмены (использование
"Negatinglnstruction") одной или более команд кодирования.
12.8 Команды кодирования XER состоят из четырех частей (некоторые из которых могут быть
пустыми):
а) NOT — показываетотрицание или удаление команд кодирования данной категории;
П р и м е ч а н и е 1— Эта часть присутствует для негативных команд (за исключением ’Elementlnstruction")
и отсутствует для позитивных команд.
б) ключевое слово, идентифицирующее категорию команды кодирования;
П р и м е ч а н и е 2 — Эта часть всегда присутствует.
в) идентификация целевого перечня назначений команд кодирования (возможно, с информацией для
квалификации, ограничивающей его применение к подмножеству значений некоторого типа);
П р и м е ч а н и е 3 — При использовании в префиксе типа целевой перечень всегда является "пустым"
продукционным правилом, так как цель назначения — это всегда тип. ассоциированный с префиксом типа (см.
12.12). Целевой лист также всегда пустой для команды кодирования GLOBAL-DEFAULTS.
г) синтаксис, специфический для каждой категории команд кодирования, обеспечивающий детали
кодирования в этой категории.
Пр и ме ч а н и е 4 — При использовании в негативной команде это всегда "пустое" продукционное правило.
Эта часть всегда отсутствует в командах кодирования, для которых ключевое слово является достаточно
обоснованным определением.
12.9 Некоторые команды кодирования XER требуют спецификации абстрактного значения типа. Эта
спецификация испогьзует продукционное правило "Value" (см. ИСО/МЭК8824-1, 16.7). Если "valuereference"
используется как "Value", то "valuereference" должно быть определено в (или импортировано в) модуле
АСН.1. содержащем команду кодировании XER.
П р и м е ч а н и е — Это означает, что значение может быть определено или непосредственно с
применением базовой нотации значений АСН.1 или нотации значений XML.
12.10 В таблице 1 перечислены в первом столбце альтернативы в продукционных правилах
"Positivelnstruction". Второй столбец содержит номера разделов, в которых определены требования для
17