(*
   $Id$
   ISO TC184/SC4/WG12 N4663 - ISO/CD-TS 10303-1773 Basic data representation - EXPRESS ARM
*)
SCHEMA Basic_data_representation_arm;

USE FROM Extended_date_arm; -- ISO/TS 10303-1776

USE FROM Foundation_representation_arm; -- ISO/TS 10303-1006

  ENTITY Boolean_representation_item
    SUBTYPE OF (Representation_item);
      the_value : BOOLEAN;
  END_ENTITY;

  ENTITY Compound_representation_item 
    ABSTRACT SUPERTYPE OF (ONEOF (Sequence_representation_item, Set_representation_item)) 
    SUBTYPE OF (Representation_item); 
  END_ENTITY; 

  ENTITY Date_time_representation_item
    SUBTYPE OF (Representation_item);
      the_value : extended_date_time_select;
  END_ENTITY; 

  ENTITY Integer_representation_item
    SUBTYPE OF (Representation_item);
      the_value : INTEGER;
  END_ENTITY;

  ENTITY Logical_representation_item
    SUBTYPE OF (Representation_item);
      the_value : LOGICAL;
  END_ENTITY;

  ENTITY Rational_representation_item
    SUBTYPE OF (Representation_item);
      numerator   : INTEGER;
      denominator : INTEGER;
  END_ENTITY;

  ENTITY Real_representation_item
    SUBTYPE OF (Representation_item);
      the_value   : REAL;
  END_ENTITY;

  ENTITY Sequence_representation_item
    SUBTYPE OF (Compound_representation_item);
      the_value   : LIST OF Representation_item;
  END_ENTITY;

  ENTITY Set_representation_item
    SUBTYPE OF (Compound_representation_item);
      the_value   : SET OF Representation_item;
  END_ENTITY;

  SUBTYPE_CONSTRAINT representation_item_subtypes FOR Representation_item; 
	(ONEOF (Boolean_representation_item,
	  Compound_representation_item,
      Date_time_representation_item,
      Integer_representation_item,
      Logical_representation_item,
      Rational_representation_item,
      Real_representation_item));
  END_SUBTYPE_CONSTRAINT;

END_SCHEMA;
