SELF\shape_data_quality_criterion.assessment_specification - объектshape_data_quality_assessment_by_numerical_test, который задает сравнение числа пустот с заданным предельным значением.
Формальные положения
WR1: Атрибут threshold объекта, играющего роль атрибута assessment_specificationнастоящего объекта, должен в качестве значения иметь объект типаshape_data_quality_lower_value_limit, атрибут value_component которого должен быть экземпляром данных типа count_measure (счетная мера).
WR2: Атрибут representative_measured_value объектаshape_data_quality_inspection_criterion_report и атрибут measured_value объектаshape_data_quality_inspection_instance_report_item во всех экземплярах, связанных с настоящим объектом, должны иметь значение типа count_measure (счетная мера).
WR3: Объекты, играющие роль атрибута inspected_elements в экземплярах объектаshape_data_quality_inspection_instance_report_item, связанных с настоящим объектом, должны быть объектами типа manifold_solid_brep.
WR4: Объект shape_data_quality_inspection_instance_report_item, связанный с настоящим объектом, не должен быть объектом типаinstance_report_item_with_extreme_instances, поскольку указание в отчете о проверке выходящих за пределы значений не имеет смысла.
WR5: Настоящий объект не должен быть связан посредством объектовshape_data_quality_criterion_and_accuracy_association ни с какими элементами данных, задающими точность. Объект shape_data_quality_inspection_result, соответствующий настоящему объекту, также не должен связан быть посредством объектаshape_inspection_result_accuracy_association с какими-либо элементами данных, задающими точность.
7.5 Определение функций схемы критериев качества данных о форме
7.5.1 Функция validate_inspected_elements_type
Функция validate_inspected_elements_type проверяет, содержатся ли типы объектов, играющих роль атрибута inspected_elements объектаshape_data_quality_inspection_instance_report_item, на который ссылается объектshape_data_quality_inspection_instance_report, соответствующий объектуshape_data_quality_criterion, являющемуся входным параметром настоящей функции, в списке типов, являющемся другим входным параметром настоящей функции. Если с заданным критерием не связан ни один объект, то функция возвращает значение 'TRUE'. Функция выполняется следующим образом:
1) собрать все экземпляры объекта shape_data_quality_inspection_instance_report_item, связанные посредством объектов shape_data_quality_inspection_result иshape_data_quality_inspection_instance_report с объектом shape_data_quality_criterion, задаваемым в качестве входного параметра настоящей функции;
2) проверить, точно ли соответствуют наименования типов объектов, играющих роль атрибутаinspected_elements во всех собранных экземплярах, именам типов из списка типов, данного в качестве входного параметра настоящей функции.
EXPRESS-спецификация:
| *) |
| FUNCTION validate_inspected_elements_type |
| (ei:shape_data_quality_criterion; |
| type list:BAGOFSTRING):LOGICAL; |
| LOCAL |
| sdqir: SET OF |
| SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; |
| sdir: SET OF |
| SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; |
| sdiri: SET OF |
| SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM:=[]; |
| t_type_list:BAG OF STRING:=[]; |
| END_LOCAL; |
| - - STEP-1 |
| - - collect all shape_data_quality_inspection_instance_report_item |
| - - instances associated with the given shape_data_quality_criterion |
| - - via shape_data_quality_inspection_result and |
| - - shape_data_quality_inspection_instance_report |
| sdqir :=QUERY(q <* bag_to_set(USEDIN(ei, |
| 'PRODUCT_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'DATA_QUALITY_INSPECTION_RESULT'+ |
| 'CRITERION_INSPECTED'))| |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' |
| IN TYPEOF(q)); |
| IF(SIZEOF(sdqir) = 0) THEN |
| RETURN(TRUE); |
| END_IF; |
| REPEAT i:= 1 TO SIZEOF(sdqir); |
| sdir := sdir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], |
| 'PRODUCT_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'DATA_QUALITY_INSPECTION_REPORT.'+ |
| 'INSPECTION_RESULT'))| |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' |
| IN TYPEOF(q)); |
| END_REPEAT; |
| IF(SIZEOF(sdir) = 0)THEN |
| RETURN(TRUE); |
| END_IF; |
| REPEAT i:= 1 TO SIZEOF(sdir); |
| sdiri := sdiri + QUERY(q <* sdir[i].inspected_instances| |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT ITEM' |
| IN TYPEOF(q)); |
| END_REPEAT; |
| - - STEP-2 |
| - - check if the types of inspected_elements of the collected |
| - - instances are exactly coincident with the type names in the |
| - - type list given as an input argument of this function. |
| - - If there is no instance_report_item, then return true. |
| IF(SIZEOF(sdiri) = 0)THEN |
| RETURN(TRUE); |
| END_IF; |
| - - When reports exist, then perform the following checking process. |
| REPEAT i:= 1 TO SIZEOF(sdiri); |
| - - If the size of inspected_elements is not equal to the size of |
| - - type_list, then return false. |
| IF(SIZEOF(sdiri[i].inspected_elements) <> |
| SIZEOF(type list)) THEN |
| RETURN(FALSE); |
| END_IF; |
| - - check all elements in the type_list |
| - - for each element of inspected_elements. |
| t_type_list := type_list; |
| REPEAT j:= 1 TO SIZEOF(sdiri[i].inspected_elements); |
| REPEAT k:=1 TO SIZEOF(t_type_list); |
| IF(t_type_list[k] IN |
| TYPEOF(sdiri[i].inspected_elements[j]))THEN |
| t_type_list := t_type_list - t_type_list[k]; |
| ESCAPE; |
| END_IF; |
| END_REPEAT; |
| END_REPEAT; |
| IF(SIZEOF(t_type_list) > 0) THEN |
| RETURN(FALSE); |
| END_IF; |
| END_REPEAT; |
| RETURN(TRUE); |
| END_FUNCTION; |
| (* |
Определение параметров
ei - экземпляр объекта shape_data_quality_criterion, который должен быть проверен;
type_list - множество (BAG), задающее приемлемые типы данных из числа типов данных, используемых в определении типа данных inspected_shape_element_select.
7.5.2 Функция validate_locations_of_extreme_value_type
Функция validate_locations_of_extreme_value_type проверяет допустимость типов объектов, играющих роль атрибута locations_of_extreme_values объектов, играющих роль атрибута extreme_instances объекта instance_report_item_with_extreme_instances, связанного с экземпляром объекта shape_data_quality_criterion. Функция выполняется следующим образом:
1) собрать все экземпляры объекта instance_report_item_with_extreme_instances, связанные посредством объектов shape_data_quality_inspection_result иshape_data_quality_inspection_instance_report с объектом shape_data_quality_criterion, задаваемым в качестве входного параметра настоящей функции;
2) проверить, точно ли соответствуют типы объектов, играющих роль атрибутовlocations_of_extreme_value объектов, играющих роль атрибута extreme_instances во всех собранных экземплярах, именам типов из списка типов, данного в качестве входного параметра настоящей функции.
Примечание - Если список типов пуст и существует связанный с объектомshape_data_quality_criterion объект instance_report_item_with_extreme_instances, то функция возвращает значение 'FALSE'.
EXPRESS-спецификация:
| *) |
| FUNCTION validate_locations_of_extreme_value_type |
| (ei:shape_data_quality_criterion; |
| type_list:BAG O FSTRING):LOGICAL; |
| LOCAL |
| sdqir: SET OF |
| SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; |
| sdir: SET OF |
| SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; |
| sdei: SET OF |
| INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES:=[]; |
| t_type_list:BAG OF STRING:=[]; |
| END_LOCAL; |
| - - STEP-1 |
| - - collect all instance_report_item_with_extreme_instances instances |
| - - associated with the given shape_data_quality_criterion |
| - - via shape_data_quality_inspection_result and |
| - - shape_data_quality_inspection_instance_report. |
| sdqir := QUERY(q <* bag_to_set(USEDIN(ei, |
| 'PRODUCT_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'DATA_QUALITY_INSPECTION_RESULT.'+ |
| 'CRITERION_INSPECTED'))| |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' |
| IN TYPEOF(q)); |
| IF(SIZEOF(sdqir) = 0)THEN |
| RETURN(TRUE); |
| END_IF; |
| REPEAT i:= 1 TO SIZEOF(sdqir); |
| sdir := sdir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], |
| 'PRODUCT_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'DATA_QUALITY_INSPECTION_REPORT'+ |
| 'INSPECTION_RESULT))| |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' |
| IN TYPEOF(q)); |
| END_REPEAT; |
| REPEAT i:= 1 TO SIZEOF(sdir); |
| sdei := sdei + QUERY(q <* sdir[i].inspected_instances| |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' |
| IN TYPEOF(q)); |
| END_REPEAT; |
| - - STEP-2 |
| - - check if the types of locations_of_extreme_value attributes |
| - - of all extreme_instances attributes of the collected instances are |
| - - exactly coincident with the type names in the type list given as an |
| - - input argument of this function. |
| - - If there is no instance report, then return true. |
| IF(SIZEOF(sdei) = 0)THEN |
| RETURN(TRUE); |
| END_IF; |
| - - If the type_list is empty and |
| - - instance_report_item_with extreme_instances exists, then return false. |
| IF((SIZEOF(type list) = 0) AND (SIZEOF(sdei) <> 0)) THEN |
| RETURN(FALSE); |
| END_IF; |
| - - When report_items exist, then perform the following checking process. |
| REPEAT i:= 1 TO SIZEOF(sdei); |
| REPEAT j:= 1 TO SIZEOF(sdei[i].extreme_instances); |
| - - If the size of locations_of_extreme_value is not equal to |
| - - the size of type_list, then return false. |
| IF(SIZEOF(sdei[i].extreme_instances[j]. |
| locations_of_extreme_value) <> |
| SIZEOF(type_list)) THEN |
| RETURN(FALSE); |
| END_IF; |
| t_type_list := type_list; |
| - - check all elements of the type_list |
| - - for each element of locations_of_extreme_value. |
| REPEAT k:= 1 TO SIZEOF(sdei[i].extreme_instances[j] |
| .locations_of_extreme_value); |
| REPEAT l:=1 TO SIZEOF(t_type_list); |
| IF(t_type_list[l] IN |
| TYPEOF(sdei[i].extreme_instances[j]. |
| locations_of_extreme_value[k]))THEN |
| t_type_list := t_type_list - t_type_list[l]; |
| ESCAPE; |
| END_IF; |
| END_REPEAT; |
| END_REPEAT; |
| IF(SIZEOF(t_type_list) > 0) THEN |
| RETURN(FALSE); |
| END_IF; |
| END_REPEAT; |
| END_REPEAT; |
| RETURN(TRUE); |
| END_FUNCTION; |
| (* |
Определение параметров
ei - экземпляр объекта shape_data_quality_criterion, который должен быть проверен;
type_list - множество (BAG), задающее приемлемые типы данных из числа типов данных, используемых в определении типа данных location_of_extreme_value_select.
7.5.3 Функция validate_measured_data_type
Функция validate_measured_data_type проверяет допустимость типа данных атрибутаrepresentative_measured_value объекта shape_data_quality_inspection_criterion_report, атрибута measured_value объекта shape_data_quality_inspection_instance_report_item и атрибутов measured_value объектов extreme_instance, на которые ссылается связанный с объектом shape_data_quality_criterion объектinstance_report_item_with_extreme_instances.
Примечание - Если для критерия не существует каких-либо экземпляров объектов типаshape_data_quality_inspection_criterion_report иshape_data_quality_inspection_instance_report, то функция возвращает значение 'TRUE'.
EXPRESS-спецификация:
| *) |
| FUNCTION validate_measured_data_type |
| (ei:shape_data_quality_criterion; |
| type_string: STRING):LOGICAL; |
| LOCAL |
| sdqir: SET OF |
| SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; |
| sdcr: SET OF |
| SHAPE_DATA_QUALITY_INSPECTION_CRITERION_REPORT:=[]; |
| sdir: SET OF |
| SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; |
| sdii: SET OF |
| SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM:=[]; |
| sdei: BAG OF |
| INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES:=[]; |
| END_LOCAL; |
| - - STEP-1 |
| - - collect all shape_data_quality_inspection_criterion_report instances, |
| - - all shape_data_quality_inspection_instance_report_item instances, and |
| - - instance_report_item_with_extreme_instances instances |
| - - associated with the given shape_data_quality_criterion |
| - - via shape_data_quality_inspection_result. |
| sdqir :=QUERY(q <* bag_to_set(USEDIN(ei, |
| 'PRODUCT_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'DATA_QUALITY_INSPECTION_RESULT.'+ |
| 'CRITERION_INSPECTED'))| |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' |
| IN TYPEOF(q)); |
| IF(SIZEOF(sdqir) = 0)THEN |
| RETURN(TRUE); |
| END_IF; |
| REPEAT i:= 1 TO SIZEOF(sdqir); |
| sdcr := sdcr + QUERY(q <* bag_to_set(USEDIN(sdqir[i], |
| 'PRODUCT_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'DATA_QUALITY_INSPECTION_REPORT.'+ |
| 'INSPECTION_RESULT))| |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'SHAPE_DATA_QUALITY_INSPECTION_CRITERION_REPORT' |
| IN TYPEOF(q)); |
| END_REPEAT; |
| REPEAT i:= 1 TO SIZEOF(sdqir); |
| sdir :=sdir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], |
| 'PRODUCT_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'DATA_QUALITY_INSPECTION_REPORT.'+ |
| 'INSPECTION_RESULT'))| |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' |
| IN TYPEOF(q)); |
| END_REPEAT; |
| - - If there is no report, then return true. |
| IF((SIZEOF(sdcr) = 0) AND (SIZEOF(sdir) = 0)) THEN |
| RETURN(TRUE); |
| END_IF; |
| REPEAT i:= 1 TO SIZEOF(sdir); |
| sdii := sdii + QUERY(q <* sdir[i].inspected_instances| |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT ITEM' |
| IN TYPEOF(q)); |
| END_REPEAT; |
| REPEAT i:= 1 TO SIZEOF(sdir); |
| sdei := sdei + QUERY(q <* sdir[i].inspected instances| |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' |
| IN TYPEOF(q)); |
| END_REPEAT; |
| - - When reports exist, then perform the following checking process. |
| - - Check representative_measured_value of |
| - - shape_data_quality_inspection_criterion_report |
| REPEAT i:= 1 TO SIZEOF(sdcr); |
| IF(NOT(type_string IN |
| TYPEOF(sdcr[i].representative_measured_value))) THEN |
| RETURN(FALSE); |
| END_IF; |
| END_REPEAT; |
| - - Check measured_value of shape_data_quality_inspection_ |
| - - instance_report_item |
| REPEAT i:= 1 TO SIZEOF(sdii); |
| IF(NOT(type_string IN |
| TYPEOF(sdii[i].measured_value))) THEN |
| RETURN(FALSE); |
| END_IF; |
| END_REPEAT; |
| - - Check measured_value of extreme_instances of |
| - - instance_report_item_with_extreme_instance |
| REPEAT i:= 1 TO SIZEOF(sdei); |
| REPEAT j:= 1 TO SIZEOF(sdei[i].extreme_instances); |
| IF(NOT(type_string IN |
| TYPEOF(sdei[i].extreme_instances[j].measured_value))) |
| THEN |
| RETURN(FALSE); |
| END_IF; |
| END_REPEAT; |
| END_REPEAT; |
| RETURN(TRUE); |
| END_FUNCTION; |
| (* |
Определение параметров
ei - экземпляр объекта shape_data_quality_criterion, который должен быть проверен;
type_string - строка, задающая допустимое значение экземпляра типаshape_data_quality_criterion.
7.5.4 Функция validate_accuracy_types
Функция validate_accuracy_types проверяет допустимость типов точности, связанных с экземпляром объекта shape_data_quality_criterion. Функция выполняется следующим образом:
1) собрать типы атрибутов range объектов shape_measurement_accuracy, на которые ссылается объект shape_data_quality_criterion_and_accuracy_association, ссылающийся на объект shape_data_quality_criterion, заданный в качестве входного параметра настоящей функции;
2) проверить, точно ли соответствуют собранные типы именам типов из списка типов, данного в качестве входного параметра настоящей функции;
3) собрать типы атрибутов range объектов shape_measurement_accuracy, на которые ссылается объект shape_inspection_result_accuracy_association, ссылающийся на объектshape_data_quality_inspection_result, связанный с объектом shape_data_quality_criterion.
Примечание - Если список типов пуст и существует связанный с объектомshape_data_quality_criterion объект shape_measurement_accuracy, то функция возвращает значение 'FALSE'.
EXPRESS-спецификация:
| *) |
| FUNCTION validate_accuracy_types |
| (ei:shape_data_quality_criterion; |
| type_list:BAG OF STRING):LOGICAL; |
| LOCAL |
| sdqca: BAG OF |
| SHAPE_DATA_QUALITY_CRITERION_AND_ACCURACY_ASSOCIATION:=[]; |
| sma: BAG OF SHAPE_MEASUREMENT_ACCURACY:=[]; |
| sdqir: SET OF |
| SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; |
| scraa: BAG OF |
| SHAPE_INSPECTION_RESULT_ACCURACY_ASSOCIATION:=[]; |
| t_logic:BOOLEAN; |
| END_LOCAL; |
| - - STEP-1 |
| - - collect types of range attribute of shape_measurement_accuracy |
| - - referred from shape_data_criterion_and_accuracy_association |
| - - that refers to given shape_data_quality_criterion. |
| sdqca :=USEDIN(ei, |
| 'SHAPE_DATA_QUALITY_CRITERIA_SCHEMA.'+ |
| 'SHAPE_DATA_QUALITY_CRITERION_AND_ACCURACY_ASSOCIATION.'+ |
| 'SHAPE_DATA_QUALITY_CRITERION'); |
| IF(SIZEOF(sdqca) <> 0) THEN |
| REPEAT i:= 1 TO SIZEOF(sdqca); |
| sma := sma + sdqca[i].required_specific_accuracy; |
| END_REPEAT; |
| - - STEP-2 |
| - - check whether the collected types include all the type names |
| - - in the type list given as an input argument of this function |
| - - and they do not include any other type names. |
| IF(SIZEOF(type_list) < SIZEOF(sma)) THEN |
| RETURN(FALSE); |
| END_IF; |
| REPEAT i:= 1 TO SIZEOF(sma); |
| t_logic := FALSE; |
| REPEAT j:= 1 TO SIZEOF(type_list); |
| IF(type_list[j] IN value_limit_type(sma[i].range)) THEN |
| t_logic := TRUE; |
| ESCAPE; |
| END_IF; |
| END_REPEAT; |
| IF(NOT(t_logic)) THEN |
| RETURN(FALSE); |
| END_IF; |
| END_REPEAT; |
| END_IF; |
| - - STEP-3 |
| - - collect types of range attribute of shape_measurement_accuracy |
| - - referred from shape_inspection_result_accuracy_association |
| - - that refers to shape_data_quality_inspection_result |
| - - for the given shape_data_quality_criterion. |
| sdqir := QUERY(q <* bag_to_set(USEDIN(ei, |
| 'PRODUCT_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'DATA_QUALITY_INSPECTION_RESULT.'+ |
| 'CRITERION_INSPECTED'))| |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' |
| IN TYPEOF(q)); |
| IF(SIZEOF(sdqir) = 0) THEN |
| RETURN(TRUE); |
| END_IF; |
| REPEAT i:= 1 TO SIZEOF(sdqir); |
| scraa := USEDIN(sdqir[i], |
| 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+ |
| 'SHAPE_INSPECTION_RESULT_ACCURACY_ASSOCIATIONS |
| 'SHAPE_DATA_QUALITY_RESULT'); |
| IF(SIZEOF(scraa) <> 0) THEN |
| sma := []; |
| REPEAT j:= 1 TO SIZEOF(scraa); |
| sma := sma + scraa[j].applied_specific_accuracy; |
| END_REPEAT; |
| - - STEP-4 |
| - - check whether the collected types include all the type |
| - - names in the type list given as an input argument of |
| - - this function and they do not include any other type names. |
| IF(SIZEOF(type list) < SIZEOF(sma)) THEN |
| RETURN(FALSE); |
| END_IF; |
| REPEAT j:= 1 TO SIZEOF(sma); |
| t_logic := FALSE; |
| REPEAT k:= 1 TO SIZEOF(type_list); |
| IF(type_list[k] IN value_limit_type(sma[j].range)) THEN |
| t_logic := TRUE; |
| ESCAPE; |
| END_IF; |
| END_REPEAT; |
| IF(NOT(t_logic)) THEN |
| RETURN(FALSE); |
| END_IF; |
| END REPEAT; |
| END_IF; |
| END_REPEAT; |
| RETURN(TRUE); |
| END_FUNCTION; |
| (* |
Определение параметров
ei - экземпляр объекта shape_data_quality_criterion, который должен быть проверен;
type_list - множество (BAG), задающее приемлемые типы данных.
7.5.5 Функция value_limit_type
Функция value_limit_type возвращает имена типов атрибутов value_component, появляющихся у объектов, играющих роль атрибута item_element в объекте, тип которого входит в список типов shape_data_quality_value_limit_type_select, если он является объектом типа shape_data_quality_value_range. Функция также возвращает имена типов атрибутов value_component объекта value_representation_item, если он является объектом типа shape_data_quality_value_limit.
EXPRESS-спецификация:
| *) |
| FUNCTION value_limit_type |
| (iv:shape_data_quality_value_limit_type_select):SET OF STRING; |
| LOCAL |
| retval : SET OF STRING := []; |
| END_LOCAL; |
| IF(('SHAPE_DATA_QUALITY_CRITERIA_SCHEMA.' |
| +'SHAPE_DATA_QUALITY_VALUE_RANGE') IN TYPEOF(iv)) THEN |
| retval := TYPEOF(iv\compound_representation_item. |
| item_element[1].value_component); |
| END_IF; |
| IF(('SHAPE_DATA_QUALITY_CRITERIA_SCHEMA.' |
| +'SHAPE_DATA_QUALITY_VALUE_LIMIT') IN TYPEOF(iv)) THEN |
| retval :=TYPEOF(iv\measure_representation_item.value_component); |
| END_IF; |
| RETURN(retval); |
| END_FUNCTION; |
| (* |