(*
 $Id$
 ISO TC184/SC4/WG12 N4660 - ISO/CD-TS 10303-1132 Associative text - EXPRESS ARM
 Supersedes ISO TC184/SC4/WG12 N2693
*)

SCHEMA Associative_text_arm;

USE FROM Appearance_assignment_arm; -- ISO/CD-TS 10303-1136

USE FROM Text_appearance_arm; -- ISO/CD-TS 10303-1136

  TYPE text_or_composite_text = EXTENSIBLE GENERIC_ENTITY SELECT
    (Annotation_text,
    Composite_presentable_text,
    Defined_character_glyph,
    Text_literal);
  END_TYPE; 

  TYPE text_string_representation_item_select = EXTENSIBLE GENERIC_ENTITY SELECT(
    Annotation_text,
    Composite_presentable_text,
    Text_literal);
  END_TYPE;

  ENTITY Annotation_curve
    ABSTRACT SUPERTYPE 
    SUBTYPE OF (Annotation_element);
      annotation_curve_type       : OPTIONAL STRING;
      SELF\Styled_element.element : Curve;
  END_ENTITY;

  ENTITY Annotation_element 
    SUPERTYPE OF(ONEOF (Text, Annotation_curve))                        
    SUBTYPE OF (Detailed_geometric_model_element, Styled_element);
  END_ENTITY;

  ENTITY Annotation_text
    SUBTYPE OF (Detailed_geometric_model_element);
      replicated_model : Text_string_representation;
      source           : Axis_placement;
      target           : Axis_placement;
  END_ENTITY;

  ENTITY Defined_character_glyph
    SUBTYPE OF (Detailed_geometric_model_element);
      placement : Axis_placement;
  END_ENTITY;

  ENTITY Dimension_text
    SUBTYPE OF (Text);
    WHERE
      WR1: name IN ['dimension value', 'tolerance value', 'unit text', 'prefix text', 'suffix text'];
  END_ENTITY;

  ENTITY Text 
    SUBTYPE OF (Annotation_element);
      SELF\Styled_element.element RENAMED text : text_or_composite_text;
  END_ENTITY;

  ENTITY Text_string_representation
    SUBTYPE OF (Styled_model);
    SELF\Representation.items : SET [1:1] OF text_string_representation_item_select;
  END_ENTITY; 

END_SCHEMA;
