Source : ISO 10303-46
SCHEMA presentation_resource_schema;
         REFERENCE FROM 
         external_reference_schema   -- ISO 10303-41
  (externally_defined_item,
           
         pre_defined_item);
         
         REFERENCE FROM 
         geometry_schema   -- ISO 10303-42
  (axis2_placement,
           
         curve,
           
         geometric_representation_item);
         
         REFERENCE FROM 
         measure_schema   -- ISO 10303-41
  (length_measure,
           
         positive_length_measure,
           
         positive_ratio_measure,
           
         ratio_measure);
         
         REFERENCE FROM 
         presentation_definition_schema   -- ISO 10303-46
  (annotation_fill_area,
           
         symbol_representation);
         
         REFERENCE FROM 
         representation_schema   -- ISO 10303-43
  (item_in_context,
           
         representation);
         
         REFERENCE FROM 
         support_resource_schema   -- ISO 10303-41
  (identifier,
           
         label,
           
         text);
         
TYPE font_select =
         
         
         SELECT
            (pre_defined_text_font, 
    externally_defined_text_font, 
    text_font);
         END_TYPE; 
         
TYPE staircase_or_linear =
         
         ENUMERATION
         
         OF
         
            
         (staircase,
    linear);
         END_TYPE; 
         
ENTITY character_glyph_font_usage;
           character : generic_character_glyph_symbol;
           font : text_font;
         
         END_ENTITY;
ENTITY character_glyph_symbol
           SUBTYPE OF (generic_character_glyph_symbol);
           character_box : planar_extent;
           baseline_ratio : ratio_measure;
DERIVE
           box_height : length_measure := character_box.size_in_y;
WHERE
           WR1: {0.0 <= baseline_ratio <= 1.0};
           WR2: item_in_context(character_box,
            SELF\representation.context_of_items);
           WR3: 'MEASURE_SCHEMA.POSITIVE_LENGTH_MEASURE'
            IN TYPEOF (box_height);
         
         END_ENTITY;
ENTITY character_glyph_symbol_outline
           SUBTYPE OF (character_glyph_symbol);
           outlines : SET[1:?] OF annotation_fill_area;
WHERE
           WR1: outlines <= SELF\representation.items;
         
         END_ENTITY;
ENTITY character_glyph_symbol_stroke
           SUBTYPE OF (character_glyph_symbol);
           strokes : SET[1:?] OF curve;
WHERE
           WR1: strokes <= SELF\representation.items;
         
         END_ENTITY;
ENTITY colour;
         
         END_ENTITY;
ENTITY colour_associated
           SUBTYPE OF (colour);
           name : label;
           variable_to_be_shown : SET[1:?] OF REAL;
           mapping : colour_association_table;
         
         END_ENTITY;
ENTITY colour_association_table;
           discrete_states_with_colours : LIST[1:?] OF state_variable_with_colour;
           interpolation_type : staircase_or_linear;
         
         END_ENTITY;
ENTITY colour_rgb
           SUBTYPE OF (colour_specification);
           red : REAL;
           green : REAL;
           blue : REAL;
WHERE
           WR1: {0.0 <= red <= 1.0};
           WR2: {0.0 <= green <= 1.0};
           WR3: {0.0 <= blue <= 1.0};
         
         END_ENTITY;
ENTITY colour_specification
           SUBTYPE OF (colour);
           name : label;
         
         END_ENTITY;
ENTITY draughting_pre_defined_colour
           SUBTYPE OF (pre_defined_colour);
WHERE
           WR1: SELF\pre_defined_item.name IN
            ['red',
            'green',
            'blue',
            'yellow',
            'magenta',
            'cyan',
            'black',
            'white'];
         
         END_ENTITY;
ENTITY draughting_pre_defined_text_font
           SUBTYPE OF (pre_defined_text_font);
WHERE
           WR1: SELF\pre_defined_item.name[1:8] = 'ISO 3098';
         
         END_ENTITY;
ENTITY externally_defined_text_font
           SUBTYPE OF (externally_defined_item);
         
         END_ENTITY;
ENTITY generic_character_glyph_symbol
           ABSTRACT SUPERTYPE
         
           SUBTYPE OF (symbol_representation);
         
         END_ENTITY;
ENTITY planar_box
           SUBTYPE OF (planar_extent);
           placement : axis2_placement;
         
         END_ENTITY;
ENTITY planar_extent
           SUBTYPE OF (geometric_representation_item);
           size_in_x : length_measure;
           size_in_y : length_measure;
         
         END_ENTITY;
ENTITY pre_defined_colour
           SUBTYPE OF (pre_defined_item, colour);
         
         END_ENTITY;
ENTITY pre_defined_text_font
           SUBTYPE OF (pre_defined_item);
         
         END_ENTITY;
ENTITY presentation_scaled_placement
           SUBTYPE OF (geometric_representation_item);
           placement : axis2_placement;
           scaling : positive_ratio_measure;
         
         END_ENTITY;
ENTITY state_variable_with_colour;
           state_variable : REAL;
           associated_colour : colour_specification;
         
         END_ENTITY;
ENTITY text_font;
           id : identifier;
           name : label;
           description : text;
INVERSE
           glyphs : SET[1:?] OF character_glyph_font_usage FOR font;
         
         END_ENTITY;
ENTITY text_font_family;
           id : identifier;
           name : label;
           description : text;
INVERSE
           fonts : SET[1:?] OF text_font_in_family FOR family;
         
         END_ENTITY;
ENTITY text_font_in_family;
           font : text_font;
           family : text_font_family;
         
         END_ENTITY;
SUBTYPE_CONSTRAINT prs_geometric_representation_item_subtypes FOR geometric_representation_item;
           ONEOF (curve,
         planar_extent,
         presentation_scaled_placement);
      
         END_SUBTYPE_CONSTRAINT;
         END_SCHEMA;  -- presentation_resource_schema