ГОСТ Р ИСО 13584-31—2010
— Recursively check the items of the mapped_rep.
it NOT acyclic_mapped_representation
<parent_set +
x[i]\mapped_item.mapping_source.mapped_representation,
x(i)\mapped_item.mapping_source.mapped_representation.items) THEN
RETURN (FALSE);
END_1F;
END_REP£AT;
END_IF;
-- Determine the subset of children_set that are not mapped_iterns.
xchildren_set - x;
-- Determine that the subset has elements.
IF SlZEOF(x) > 0 THEN
-- lor each element of the set:
REPEAT i1 TO HIINDEX(x);
— Determine the set of representation^terns referenced,
уOUERYlz <* bag_to_set< USEDIN(x:i], ") ) |
’API_ABSTRACT_SCHEMA.REPRESENTA.TION_IТЕМ’ IN TYPEOF(z));
-- Recursively check these in case they might be an offending
— mapped_item. Return false for any errors encountered.
IF NOT acyclic_mapped_representation(parent_set, y) THEN
RETURN (FALSE!;
ENO_XF;
END_R£PEAT;
ENU_IF;
-- Return true when all elements are checked and
-- no error conditions found.
RETURN (TRUE);
END_FUNCTION;
<*
"
Определения аргументов:
parent_set: множество представлений, использующих элементы отображения. Указанное множе
ство составляет входные данные функции. При первом обращении к программе это множество, содер
жащее проверяемый элемент отображения, который используется и модифицируется при
последую щих вызовах функции;
children_set: множество элементов представления, которые могут быть элементами отображения.
На них прямо или косвенно могут производиться ссылки элементами представления parent_sot. Ука
занное множество образует входные данные функции. При первом обращении к функции его элементы
представляют собой проверяемые элементы отображения, которые модифицируются при последую
щих вызовах функции.
6.3.3.2 Функция item_in_context
Функция item_in_context устанавливает, связан ли элемент представления representationjtem с
контекстом представления representation_context. Функция возвращает значение «true», если:
- аргумент item связан представлением с входным аргументом cntxt:
- аргумент item связан своим представлением определения defmitional_representation с входным
аргументом cntxt.
В противном случае функция item_in_context возвращает значение «false». Функция имеет бу
лев тип.
Элемент представления связан с контекстом представления, если на него производится ссылка:
1) на множестве элементов представления, где аргумент cntxt является элементом контекста;
2) на множестве элементов представления определения dcfjnitional_represontationJtem, где аргу
мент cntxt является элементом контекста:
3) элементом представления, который описывается сущностью item_in_context в контексте cntxt.
П ри м е ча н и е 1 — Третьим условием является рекурсивная проверка, допускающая связь элемента
представления и контекста представления, как ветвей дерева связанных элементов представления. Корнем дере
ва является сущность, связанная с контекстом представления, если удовлетворяются первое или второе условия.
П ри м е ча н и е 2 — Функция item_in_context устанавливает наличие связи элемента с особым контекстом
представления. Соотношение элемента и прочих контекстов представления не рассматривается.
105