(* Generating: Example_Schema *) SCHEMA select_schema; (* ////////////// TYPE Definitions *) TYPE color = ENUMERATION OF (red, green, blue, yellow, orange, white, black, brown); END_TYPE; TYPE label = string; END_TYPE; TYPE point = real; END_TYPE; TYPE length_measure = real; END_TYPE; TYPE myselect = SELECT (label, point, length_measure ); END_TYPE; (* ////////////// ENTITY Definitions *) ENTITY poly_line; points : LIST OF line; END_ENTITY; ENTITY shape SUPERTYPE OF (ONEOF (circle,triangle,rectangle)); item_name : label; item_color : OPTIONAL color; number_of_sides : integer; END_ENTITY; ENTITY rectangle SUPERTYPE OF (square) SUBTYPE OF (shape); height : length_measure; width : length_measure; END_ENTITY; ENTITY square SUBTYPE OF (rectangle); selaggr : LIST [1:10] of myselect; END_ENTITY; ENTITY triangle SUBTYPE OF (shape); side1_length : length_measure; side2_length : length_measure; side3_length : length_measure; END_ENTITY; ENTITY circle SUBTYPE OF (shape); radius : real; (* UNIQUE *) (* Hi Dave *) END_ENTITY; ENTITY line; end_point_one : cartesian_point; end_point_two : cartesian_point; END_ENTITY; ENTITY cartesian_point; x : point; y : point; z : OPTIONAL point; END_ENTITY; END_SCHEMA;