ГОСТ Р МЭК 61360-2—2013
IFNOT <’ISO13584_IEC61360_DICTIONARY_SCHEMA.STRING_TYPE’
IN TYPEOF (typ)>
THEN RETURN(FALSE);
END_IF;
RETURN (TRUE);
END IF;
(•case entity cardinality_constraint *)
IF (’IS013584_IEC61360_CLASS_CONSTRA1NT_SCHEMA’
+’.CARDINALITY_CONSTRAINT’) IN TYPEOF (CONS)
THEN
(* the data type shall be an aggregate type but not an array*)
IF (NOT(
(’ISO13584_IEC61360_DlCriONARY_AGGREGATE_EXTENSION_SCHEMA’
+’.ENT1
TY
_1NSTANCE_
TY
PE_FOR_AGGREGATE’)
IN TYPEOF(typ)>>
THEN
RETURN(FALSE);
END_IF;
IF <’ISO13584_IEC61360_DICTIONARY_AGGREGATE_EXTRNSION_SCHEMA’
«■’.ARRAY_TYPE’IN TYPEOF(typ.type_structure)>
THEN
RETURN(FALSE);
END_IF;
RETURN (TRUE);
END_IF;
RETURN (UNKNOWN);
END_FUNCTION; -- correct_constraint_type
<•
7.5.5Функция проверки совместимости типа данных и значения (Compatible_data_type_
and_value)
Функция compatible_data_type_and_valuo проверяет тот факт, что тип значения val атрибута
primitlve_value совместим с типом, определенным атрибутом dom. Функция возвращает логическое
значение, равное TRUE, если типы совместимы. Это значение равно FALSE, если типы несовместимы.
Данная функция возвращает значение UNKNOWN, когда тип данных val соответствует типу неуправ
ляемой реализации uncontrolled_instance_value (см. ИСО 13584-24:2003) или если рассматриваемый
тип не относится к типам, определенным стандартной схемой ресурса реализаций IS013584_instance_
resource_schema.
Примечание — Значение переменной val может существовать и может не существовать.
Пример представления на языке EXPRESS:
*)
FUNCTION compatib!e_data_type_and_value(dom: data_type;
val: primitive_value):LOGICAL;
LOCAL
temp: class_BSU;
set_string: SET OF STRING[];
set_integer:SET OF INTEGER [];
code_type:non_quantitative_code_type;
109