Application module: Extended measure representation | ISO/TS 10303-1106:2014-02(E) © ISO |
(*
ISO TC184/SC4/WG12 N8266 - ISO/TS 10303-1106 Extended measure representation - EXPRESS MIM
Supersedes
ISO TC184/SC4/WG12 N5372
*)
SCHEMA Extended_measure_representation_mim;
USE FROM
Qualified_measure_mim;
-- ISO/TS 10303-1782
USE FROM
representation_schema -- ISO 10303-43
(compound_item_definition,
compound_representation_item,
list_representation_item,
set_representation_item);
REFERENCE FROM
support_resource_schema -- ISO 10303-41
(type_check_function);
ENTITY value_range
SUBTYPE OF (compound_representation_item);
WHERE
WR1: ( 'REPRESENTATION_SCHEMA.'+ 'SET_REPRESENTATION_ITEM' IN TYPEOF ( item_element ) ) AND value_range_wr1 ( item_element
);
WR2: value_range_wr2 ( item_element );
WR3: value_range_wr3 ( item_element );
END_ENTITY;
RULE subtype_exclusiveness_representation_item FOR
(representation_item);
WHERE
WR1: SIZEOF(QUERY (cri <* representation_item |
NOT (type_check_function(cri,['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'REPRESENTATION_SCHEMA.VALUE_REPRESENTATION_ITEM',
'REPRESENTATION_SCHEMA.COMPOUND_REPRESENTATION_ITEM'] , 3)))) = 0;
END_RULE;
FUNCTION value_range_wr1
(agg : compound_item_definition) : BOOLEAN;
BEGIN IF (SIZEOF(agg) = 2) AND ((SIZEOF(QUERY (i1 <* agg | ( 'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i1)))) = 2) OR (SIZEOF(QUERY (i2 <* agg | ( 'REPRESENTATION_SCHEMA.VALUE_REPRESENTATION_ITEM' IN TYPEOF (i2)))) = 2)) THEN RETURN(TRUE); ELSE RETURN(FALSE); END_IF; END;
END_FUNCTION;
FUNCTION value_range_wr2
(agg : compound_item_definition) : BOOLEAN;
BEGIN IF ((SIZEOF(QUERY (i <* agg | (i\representation_item.name = 'upper limit'))) = 1) AND (SIZEOF(QUERY (i <* agg | (i\representation_item.name = 'lower limit'))) = 1)) THEN RETURN(TRUE); ELSE RETURN(FALSE); END_IF; END;
END_FUNCTION;
FUNCTION value_range_wr3
(agg : compound_item_definition) : BOOLEAN;
BEGIN IF (SIZEOF(QUERY(i1 <* agg | ('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i1)) AND (SIZEOF (QUERY (i2 <* agg | ('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i2)) AND (i1 :<>: i2) AND (i1\measure_with_unit.unit_component :=: i2\measure_with_unit.unit_component))) = 1))) = 2) THEN RETURN (TRUE); ELSE RETURN (FALSE); END_IF; END;
END_FUNCTION;
END_SCHEMA; -- Extended_measure_representation_mim
© ISO 2014 — All rights reserved