ГОСТ Р ИСО 10303-14—2015
- элемент е имеет тип данных ь;
- результатом логического выражения г. является
TRUE
в среде, в которой неявная переменная
b
связана с
е.
Синтаксис:
43 backward path qualifier =[ attribute ret } path condition .
154 path condition =extent reference ( ’I* logical expression ].
Правила и ограничения
a) Оператор обратного пути не должен использоваться в образах схем, относящихся к классу со
ответствия 1.
b
) Элемент
attribute ref
должен быть определен в каком-либо из частичных объектных ти
пов данных в каждом экземпляре из пространства аргумента.
c) Переменная, имя которой совпадает с именем элемента
extent reference,
является не
явно объявленной в области действия оператора обратного пути.
Если идентификатор а представляет совокупность элементов, то выражение
result
:=
а<-
х (Ь) эквивалентно следующей EXPRESS-спецификации:
LOCAL
result : AGGREGATE OF GENERIC :=
l
1;
tmp : AGGREGATE OF GENERIC := M ;
END LOCAL;
result := [];
tmp := unnest(a);
REPEAT i := 1 TO HIINDEX(tmp);
result := result + QUERY(e <* USEDIN(tmp[i1, ") 1
(’SCHEMA NAME.В’ IN TYPEOF(e))
AND (tmp[i] IN e.x));
END REPEAT;
Выражение
a<-{b
;• эквивалентно следующей EXPRESS-спецификации:
result := [1;
tmp := unr.est(a);
REPEAT i :■ 1 TO HIINDEX(tmp);
result ;= result + QUERY(e <* USEDIN(tmp[ij, ’’) |
<’SCHEMA NAME.В’ IN TYPEOF(e)});
END REPEAT;
Примечание — Функция unnest, использованнаявприведенныхвыше EXPRESS-спецификациях.
принимаетодинаргументпроизвольноготипаданных (включаявложенныеагрегированныеструктуры)ивозвра
щает агрегированнуюструктуру,элементыкоторойнеотносятсякагрегированномутипуданных.Например,об
ращение unnest (а;,
[b,C;,
(’dj’])возвращаетрезультат[a,
b,
с,
d].Определениефункции
unnest
приведеновприложенииЕ.
Пример
— В
данном примере операторы пути используются для вычисления исходной агрегиро
ванной структуры в цикле создания экземпляра объекта. Исходная агрегированная структура содер
жит все экземпляры объекта
document_file.
ссылающегося на экземпляр объекта
representation_
type со
значением атрибута
name ’digital1,
и на который имеется ссылка как на атрибут
documentation_ids
экземпляра объекта
product_definition_with_associated_documents,
ко
торыйв свою очередь ссылаетсяна экземпляр исходногообъекта
product_ definition_formation;
SCHEMA document_schema;
ENTITY folder;
name : STRING;
END_ENTITY;
: STRING;
: folder;
ENTITY file;
name
location
END_ENTITY;
END SCHEMA;
42