ГОСТ Р ИСО 13584-42—2012
((’IS013584_IEC61360_DICT10NARY_SCHEMA.NUMBER_TYPE’
IN TYPEOF (dom))
AND N0T((‘IS013584JEC61360JDICTIONARY_SCHEMA.INT_TYPE’
IN TYPEOF (dom))
OR ( IS013584_IEC61360_DICTIONARY_SCHEMA.RATIONAL_TYPE•
IN TYPEOF (dom)))));
ENDJF;
IF (TS013584JNSTANCE_RES0URCE_SCHEMA.RATI0NAL_VALUE• IN TYPEOF(val))
THEN
RETURN((ISO13584_IEC61360_DICTIONARY_SCHEMA.RATIONAL_TYPE’
IN TYPEOF (dom)) OR
((‘ISO13584_IEC61360_DICTIONARY_SCHEMA.NUMBER_TYPE’
IN TYPEOF (dom))
AND NOT((‘ISO13584JEC61360_DICTIONARY_SCHEMA.INT_TYPE’
IN TYPEOF (dom))
OR ( ISO13584_IEC61360_DICTIONARY_SCHEMA.REAL_TYPE’
INTYPEOF (dom)))));
ENDJF:
IF (IS013584JNSTANCE_RESOURCE_SCHEMA.String_value’
IN TYPEOF(val))
THEN
IF ((IS013584JEC61360J3ICTIONARY_SCHEMA’ +
NON_QUANTITATIVE_CODE_TYPE‘) IN TYPEOF (dom))
THEN
set_string:= (J;
codeJype:= dom;
REPEAT j:= 1TO SIZEOF(codeJype.domain.its_values):
set_string:= set_string +
codeJype.domain.its_values(j].value_code:
END_REPEAT;
RETURN(val IN set_string);
ELSE
RETURN(IS013584JEC61360_DICTIONARY_SCHEMA+
‘.STRING_TYPE‘ INTYPEOF (dom));
ENDJF;
ENDJF:
IF (‘IS013584JNSTANCEJRESOURCE_SCHEMA.Translated_string_value’
IN TYPEOF(val))
THEN
RETURN(TSO13584JEC61360_DICTIONARY_SCHEMA +
‘.TranslataWe_string_type’ IN TYPEOF (dom)):
ENDJF;
(* The following express statements deal with complex types *)
IF ’IS013584JNSTANCE_RESOURCE_SCHEMA.DICJ3LASSJNSTANCE-
IN TYPEOF(val)
THEN
IF ( ISO13584JEC61360_DICTIONARY_SCHEMA.CLASS_REFERENCE_TYPE’
IN TYPEOF (dom))
THEN
temp:= dom.domain:
RETURN(compatible_c!ass_and_class(temp.
val\dic_dass_instance.class_def)):
ELSE
RETURN(FALSE):
ENDJF;
ENDJF;
IF IS013584JNSTANCE_RESOURCE_SCHEMA.LEVEL_SPEC_VALUE’ INTYPEOF(val)THEN
IF (’ISO13584JEC61360_DICTIONARY_SCHEMA.LEVEL_TYPE’
142