ГОСТ Р ИСО/ТО 10303-12-2000
12.1.1 О тображение USE и REFERENCE
EXPKESS-операторы USE и REFERENCE не отображаются в EXPRESS-1 непосредственно,
но их действие приводит к следующему:
- экземпляры элементов EXPRESS, внесенные в область действия EXPRESS-схемы посред
ством явных операторов USE или REFERENCE либо посредством неявных ссылок, могут поя
виться внутри соответствующего экземпляра данных EXPRESS-1-схемы;
-элементы, области значений которых переименовываются, должны иметь соответствующие
области значений с новыми именами;
-если имеются конфликты между именами областей значений из исходной EXPRESS-схемы
с именами областей значений, вносимыми из другой схемы, вносимые имена должны квалифи
цироваться именем их родительской схемы.
Пример 51 - Эти EXPRESS-схемы взаимосвязаны, так как схема с именем primary ис
пользует определение объекта с именем an_ent из схемы secondary .
SCHEMA primary;
USE FROM secondary (an_ent AS used);
ENTITY dup;
attl : used;
ati2 : BOOLEAN;
END_ENT1TY;
END_SCHEMA:
SCHEMA secondary;
ENTITY dup;
name : STRING;
int: INTEGER;
END_ENTITY;
ENTITY an_ent;
a»3 ; dup;
att4 : REAL;
ENIDENTITY;
END_SCHEMA:
Любое использование an_ent в экземпляре схемы primary требует экземпляра объекта с име
нем dup. который также определяется в схеме secondary и автоматически доступен в силу семан
тики предложения USE. Однако в данном случае в схеме primary также имеется объект с
именем dup. Две их области значений должны различаться внутри EXPRESS-1 представления
primary по средством квалификации имени объекта, вносимого из схемы secondary, как показано
ниже.
MODEL example;
SCHEMA,DATA primary’;
dupl = dup{atll-> <®usedl; ati2 -> TRUE:);
usedl = used{att3 -> @>dup2; att4-> 1.23;};
dup2 = secondary.dupjname -> ’from secondary’; int -> 1;};
used2 = used(att3 -> @’dup3; au4 -> -3.9;};
END_SCHE.\1A DATA;
SCHEMA_DATA secondary;
dup3 = dup(name -> ‘in secondary’; int-> 3;};
dup4 = dup{name -> ’in secondary’; int-> 4;}; an
entl = an_ent{att3 -> @dup3; att4 -> 42.0;};
ENDISCHEMA_DATA;
END_MODEL;
12.2 Отображение иросгых типов данных из EXPRESS
Отображение простого типа данных из EXPRESS в значение EXPRESS-I задано в таблице 14.