ГОСТ Р ИСО/МЭК 8824-3-2002
2 В данном разделе описано применение табличного ограничения, использующего множество информационных объектов, которое идентифицировано в главной нотации, определяющей порождающий тип; другими словами, определено и идентифицировано разработчиком протокола, Оно не удовлетворяет требованиям для фактического множества информационных объектов, которое должно быть использовано как ограничение в конкретном абстрактном синтаксисе, так как может изменяться от синтаксиса к синтаксису, ИСО/МЭК 8824-4 обеспечивает нотацию, которая, кроме всего прочего, позволяет множеству информационных объектов, используемому в этом ограничении, быть параметром, значение которого подставляется позже различными группами пользователей,
Пример
Для иллюстрации текста настоящего раздела использован следующий пример. Тип ErrorRetum представляет категорию ошибки errorCategory и один или несколько кодов ошибок errorCodes с соответствующей информацией errorlnfo для этой категории. Это представление обеспечивается классом информационных объектов ERROR-CLASS со специфическим множеством объектов, определенных в множестве информационных объектов ErrorSet, которое используется для ограничения полей ErrorRetum.
Имеем
ERROR-CLASS : : = CLASS {
&category PrintableString (SIZE (1)),
&code INTEGER,
&Type
}
WITH SYNTAX {&category &code &Type}
ErrorSet ERROR-CLASS : : =
{
{«A# 1 INTEGER} |
{«A# 2 REAL} |
{«В» 1 CARACTER STRING} |
{«В» 2 GeneralString}
}
ErrorRetum : : = SEQUENCE {
errorCategory ERROR-CLASS.&category ({ErrorSet}) OPTIONAL, errors SEQUENCE OF SEQUENCE
{
errorCode ERROR-CLASS.&code
({ErrorSet}{@errorCategory}), errorInfo ERROR-CLASS.&Type
({ErrorSet}{@errorCategory, @errorCode})
} OPTIONAL
}
Ассоциированная таблица множества ошибок ErrorSet может быть изображена следующим образом.
|
&category |
&code |
&Type |
|
«А» |
1 |
INTEGER |
|
«А» |
2 |
REAL |
|
«В» |
1 |
CHARACTER STRING |
|
«В» |
2 |
GeneralString |
10.1 Табличное ограничение может быть применено только к типу «ObjectClassFieldType» или «InstanceOfType». Первый случай определяется в последующих частях данного раздела, второй — в приложении А.
10.2 Тип «ObjectClassFieldType» идентифицирует класс информационных объектов и одно из допустимых имен полей «FieldName» этого класса. Табличное ограничение идентифицирует множество информационных объектов, ассоциированная таблица которых определяет множество ограниченных значений, как установлено в ГОСТ Р ИСО/МЭК 8824-2, раздел 13.
4