ГОСТ Р ИСО 10303-14—2015
ENTITY design_order;
id : STRING;
approved_by : person;
END_ENTITY;
END_SCHEMA;
SCHEMA_MAP example;
REFERENCE FROM src AS SOURCE;
REFERENCE FROM tar AS TARGET;
MAP person_map AS p : tar.person;
FROM a : approval;
IDENTIFIED_BY a.creator;
SELECT
p.id := a.creator;
END_MAP;
MAP design_order_map AS d : tar.design_order;
FRO! a : approval;
SELECT
d.id :» a.id;
d.approved_byp?person_map(a.creator); — вызов отображения
END_MAP;
END_SCHEMA_MAP;
<■ Исходный набор экземпляров, представленный в формате ИСО .0303-21, — см. (2’ *)
#1 » APPROVAL(’а_1’,’Miller1);
#2 = APPROVAL(’а_2’,’Jones’);
#3 » APPROVAL(’а_3’,’Miller’);
(• Конечные целевые экземпляры в формате ИСО 10303-21 (см. [2’) •)
#101=PERS0N(’Miller’);
#102=PERS0N(’Jones’);
#103=DESIGN_0RDER(’a_l’,#101);
#104=DESIGN_0RDER(’a_2’,#102);
#105=DESIGN_0RDER(’a_3’,#101);
2
Данный пример иллюстрирует использование
вызовов
отображения, когда разделы не опреде
лены в явном виде:
SCHEMA source_schema;
TYPE person_select ■ SELECT (male, female, child);
END_TYPE;
ENTITY male;
name: STRING;
END_ENTITY;
ENTITY female;
name : STRING;
END_ENTITY;
ENTITY child;
name : STRING;
parents : SET of person_select;
END_ENTITY;
END_SCHEMA;
SCHEMA target_schema;
ENTITY person;
name : STRING;
END ENTITY;
35