ГОСТ Р ИСО 13584-25—2010
THEN
tmp := imp + val.the_value.values[i];
END IF;
END_REPEAT;
IFNOT(VALUE_UNIQUE(tmp))
THEN
RETURN(FALSE);
END IF;
ENDJF;
ENDJF;
- -для массива с запретом значений по умолчанию
-- проверка отсутствия неопределенных значений (null_value)
IF(’IS013584 AGGREGATE_VALUE_SCHEMA.ARRAY_VALUE-
INTYPEOF(val.the_value))
THEN
IFNOT(the_dataJype.type_structure.are_optional)
THEN
REPEAT i := 1TO SIZEOF(val.the_value.values);
IF(’IS013584 INSTANCEJRESOURCE_SCHEMA.NULL_VALUE’
INTYPEOF(val.the_value.values[i]))
THEN
RETURN(FALSE);
END IF;
END„REPEAT;
ENDJF;
ENDJF;
-- проверка совместимости пар значение/тип для всех
- - элементов, входящих в агрегат
result := TRUE;
REPEAT i := 1ТО SIZEOF(elements);
IFN0T(’IS013584_AGGREGATE_VALUE_SCHEMA.NULL_VALUE’
IN TYPEOF(elements[i]))
THEN
IF(’ISO13584JEC61360_DICTIONARY_AGGREGATE_EXTENSION_SCHEMA.’
♦ •ENTITYJNSTANCE_TYPE_FOR_AGGREGATE‘
IN TYPEOF(type_of_elements))
THEN
IF (1S013584_AGGREGATE_VALUE_SCHEMA>
’AGGREGATE_ENTITY_INSTANCE_VALUE’IN
TYPEOF(elements[i]))
THEN
result := result AND
compatible_aggregateJype_and_value(
type_of_elements. elements[i]);
ELSE
RETURN(FALSE);
ENDJF:
ELSE
result := result AND compatible_final_type_and_value(
type_of_elements. elements[i]):
ENDJF;
IFNOT(result)
THEN
RETURN(FALSE);
ENDJF;
ENDJF;
20