FUNCTION class_assignment_is_valid
(aia : applied_classification_assignment) : BOOLEAN;
LOCAL item: classification_item; role: classification_role; END_LOCAL;
role:= aia.role; IF ('CLASSIFICATION_WITH_ATTRIBUTES_MIM.' +'CLASS_SYSTEM' IN TYPEOF(aia.assigned_class)) THEN IF(role.name <> 'class system membership') THEN RETURN(FALSE); END_IF; REPEAT i:=LOINDEX(aia.items) TO HIINDEX(aia.items); item:= aia.items[i];
IF (SIZEOF(['CLASSIFICATION_WITH_ATTRIBUTES_MIM.' + 'CLASS_SYSTEM_ITEM']*TYPEOF(item))=0) THEN -- item invalid IF item does NOT belong TO the types that may have a class_system RETURN(FALSE); END_IF; END_REPEAT; END_IF;
IF ('CLASSIFICATION_WITH_ATTRIBUTES_MIM.' +'CHARACTERIZED_CLASS' IN TYPEOF(aia.assigned_class)) THEN IF NOT(role.name IN ['definitional','non-definitional','']) THEN RETURN(FALSE); END_IF;
REPEAT i:=LOINDEX(aia.items) TO HIINDEX(aia.items); item:= aia.items[i];
IF (SIZEOF(['CLASSIFICATION_WITH_ATTRIBUTES_MIM.' + 'CLASSIFIED_ITEM']*TYPEOF(item))=0) THEN -- item invalid IF item does NOT belong TO the types that may have a characterized_class RETURN(FALSE); END_IF; END_REPEAT; END_IF; RETURN(TRUE); END_FUNCTION; -- class_assignment_is_valid
|