Schemas

(*
2004-01-12
ISO TC184/SC4/WG12 N2887 - ISO/IS 10303-41 Fundamentals of product description and support - EXPRESS
*)

SCHEMA application_context_schema;
  REFERENCE FROM basic_attribute_schema (description_attribute, get_description_value, get_id_value, id_attribute);
  REFERENCE FROM date_time_schema (year_number);
  REFERENCE FROM support_resource_schema (identifier, label, text);
    ENTITY application_context;
    ENTITY application_context_element;
    ENTITY application_context_relationship;
    ENTITY application_protocol_definition;
    ENTITY library_context;
    ENTITY product_concept_context;
    ENTITY product_context;
    ENTITY product_definition_context;

END_SCHEMA;
SCHEMA product_definition_schema;

  REFERENCE FROM application_context_schema (product_context, product_definition_context);
  REFERENCE FROM basic_attribute_schema (get_id_value, get_name_value, name_attribute);
  REFERENCE FROM document_schema (document);
  REFERENCE FROM effectivity_schema (effectivity);
  REFERENCE FROM support_resource_schema (bag_to_set, identifier, label, text);
    TYPE source;
    ENTITY product;
    ENTITY product_category;
    ENTITY product_category_relationship;
    ENTITY product_definition;
    ENTITY product_definition_context_association;
    ENTITY product_definition_context_role;
    ENTITY product_definition_effectivity;
    ENTITY product_definition_formation;
    ENTITY product_definition_formation_relationship;
    ENTITY product_definition_formation_with_specified_source;
    ENTITY product_definition_relationship;
    ENTITY product_definition_substitute;
    ENTITY product_definition_with_associated_documents;
    ENTITY product_related_product_category;
    ENTITY product_relationship;
    FUNCTION acyclic_product_category_relationship;
    FUNCTION acyclic_product_definition_formation_relationship;
    FUNCTION acyclic_product_definition_relationship;
    FUNCTION acyclic_product_relationship;
    FUNCTION get_product_definitions;

END_SCHEMA;
SCHEMA product_property_definition_schema;

  REFERENCE FROM process_property_schema (action_property, resource_property);
  REFERENCE FROM product_definition_schema (product_definition, product_definition_relationship);
  REFERENCE FROM support_resource_schema (bag_to_set, identifier, label, text);
  REFERENCE FROM basic_attribute_schema (get_id_value, id_attribute);
    TYPE characterized_definition;
    TYPE characterized_product_definition;
    TYPE derived_property_select;
    TYPE shape_definition;
    ENTITY characterized_object;
    ENTITY characterized_object_relationship;
    ENTITY general_property;
    ENTITY general_property_association;
    ENTITY general_property_relationship;
    ENTITY product_definition_shape;
    ENTITY property_definition;
    ENTITY shape_aspect;
    ENTITY shape_aspect_relationship;
    FUNCTION acyclic_characterized_object_relationship;
    FUNCTION acyclic_general_property_relationship;
    FUNCTION acyclic_shape_aspect_relationship;
    FUNCTION get_shape_aspects;

END_SCHEMA;
SCHEMA product_property_representation_schema;

  REFERENCE FROM basic_attribute_schema (description_attribute, get_description_value, get_name_value, name_attribute);
  REFERENCE FROM material_property_definition_schema (property_definition_relationship);
  REFERENCE FROM product_definition_schema (product_definition, product_definition_relationship);
  REFERENCE FROM product_property_definition_schema (characterized_definition, general_property, product_definition_shape, property_definition, shape_aspect, shape_aspect_relationship);
  REFERENCE FROM representation_schema (representation, representation_item, representation_relationship, using_representations);
  REFERENCE FROM support_resource_schema (bag_to_set, label, text);
    TYPE represented_definition;
    ENTITY context_dependent_shape_representation;
    ENTITY item_identified_representation_usage;
    ENTITY property_definition_representation;
    ENTITY shape_definition_representation;
    ENTITY shape_representation;
    ENTITY shape_representation_relationship;
    FUNCTION relatives_of_product_definitions;
    FUNCTION relatives_of_shape_representations;
    FUNCTION get_property_definition_representations;

END_SCHEMA;
SCHEMA management_resources_schema;

  REFERENCE FROM action_schema;
  REFERENCE FROM application_context_schema (library_context);
  REFERENCE FROM approval_schema;
  REFERENCE FROM basic_attribute_schema (get_role, object_role, role_association);
  REFERENCE FROM certification_schema;
  REFERENCE FROM contract_schema;
  REFERENCE FROM date_time_schema;
  REFERENCE FROM document_schema;
  REFERENCE FROM effectivity_schema;
  REFERENCE FROM experience_schema;
  REFERENCE FROM external_reference_schema (external_source);
  REFERENCE FROM group_schema;
  REFERENCE FROM location_schema;
  REFERENCE FROM person_organization_schema;
  REFERENCE FROM qualifications_schema;
  REFERENCE FROM security_classification_schema;
  REFERENCE FROM support_resource_schema;
    TYPE attribute_type;
    ENTITY action_assignment;
    ENTITY action_method_assignment;
    ENTITY action_method_role;
    ENTITY action_request_assignment;
    ENTITY approval_assignment;
    ENTITY attribute_classification_assignment;
    ENTITY attribute_value_assignment;
    ENTITY attribute_value_role;
    ENTITY certification_assignment;
    ENTITY classification_assignment;
    ENTITY classification_role;
    ENTITY contract_assignment;
    ENTITY date_and_time_assignment;
    ENTITY date_assignment;
    ENTITY document_reference;
    ENTITY document_usage_constraint_assignment;
    ENTITY document_usage_role;
    ENTITY effectivity_assignment;
    ENTITY effectivity_context_assignment;
    ENTITY effectivity_context_role;
    ENTITY event_occurrence_assignment;
    ENTITY event_occurrence_context_assignment;
    ENTITY experience_assignment;
    ENTITY experience_role;
    ENTITY experience_type_assignment;
    ENTITY experience_type_role;
    ENTITY external_identification_assignment;
    ENTITY external_referent_assignment;
    ENTITY group_assignment;
    ENTITY identification_assignment;
    ENTITY identification_assignment_relationship;
    ENTITY identification_role;
    ENTITY library_assignment;
    ENTITY location_assignment;
    ENTITY location_representation_assignment;
    ENTITY location_representation_role;
    ENTITY location_role;
    ENTITY name_assignment;
    ENTITY organization_assignment;
    ENTITY organization_type_assignment;
    ENTITY organization_type_role;
    ENTITY organizational_project_assignment;
    ENTITY organizational_project_role;
    ENTITY person_and_organization_assignment;
    ENTITY person_assignment;
    ENTITY person_type_assignment;
    ENTITY person_type_definition_assignment;
    ENTITY person_type_definition_role;
    ENTITY person_type_role;
    ENTITY position_in_organization_assignment;
    ENTITY position_in_organization_role;
    ENTITY position_in_organization_type_assignment;
    ENTITY position_in_organization_type_role;
    ENTITY qualification_assignment;
    ENTITY qualification_role;
    ENTITY qualification_type_assignment;
    ENTITY qualification_type_role;
    ENTITY security_classification_assignment;
    ENTITY time_assignment;
    ENTITY time_interval_assignment;
    FUNCTION acyclic_identification_assignment_relationship;

END_SCHEMA;
SCHEMA document_schema;

  REFERENCE FROM product_definition_schema (product, product_definition, product_definition_formation);
  REFERENCE FROM support_resource_schema (bag_to_set, identifier, label, text);
    TYPE product_or_formation_or_definition;
    ENTITY document;
    ENTITY document_product_association;
    ENTITY document_relationship;
    ENTITY document_representation_type;
    ENTITY document_type;
    ENTITY document_usage_constraint;
    ENTITY document_with_class;
    FUNCTION acyclic_document_relationship;

END_SCHEMA;
SCHEMA action_schema;

  REFERENCE FROM basic_attribute_schema (description_attribute, get_description_value, get_id_value, get_name_value, id_attribute, name_attribute);
  REFERENCE FROM support_resource_schema (bag_to_set, identifier, label, text);
    TYPE supported_item;
    ENTITY action;
    ENTITY action_directive;
    ENTITY action_method;
    ENTITY action_method_relationship;
    ENTITY action_relationship;
    ENTITY action_request_solution;
    ENTITY action_request_status;
    ENTITY action_resource;
    ENTITY action_resource_relationship;
    ENTITY action_resource_type;
    ENTITY action_status;
    ENTITY directed_action;
    ENTITY executed_action;
    ENTITY versioned_action_request;
    ENTITY versioned_action_request_relationship;
    FUNCTION acyclic_action_method_relationship;
    FUNCTION acyclic_action_relationship;
    FUNCTION acyclic_action_resource_relationship;
    FUNCTION acyclic_versioned_action_request_relationship;

END_SCHEMA;
SCHEMA certification_schema;

  REFERENCE FROM support_resource_schema (label, text);
    ENTITY certification;
    ENTITY certification_type;

END_SCHEMA;
SCHEMA approval_schema;

  REFERENCE FROM basic_attribute_schema (description_attribute, get_description_value, get_role, object_role, role_association);
  REFERENCE FROM date_time_schema (date_time_select);
  REFERENCE FROM person_organization_schema (person_organization_select);
  REFERENCE FROM support_resource_schema (bag_to_set, label, text);
    ENTITY approval;
    ENTITY approval_date_time;
    ENTITY approval_person_organization;
    ENTITY approval_relationship;
    ENTITY approval_role;
    ENTITY approval_status;
    FUNCTION acyclic_approval_relationship;

END_SCHEMA;
SCHEMA contract_schema;

  REFERENCE FROM support_resource_schema (bag_to_set, identifier, label, text);
    ENTITY contract;
    ENTITY contract_relationship;
    ENTITY contract_type;
    FUNCTION acyclic_contract_relationship;

END_SCHEMA;
SCHEMA security_classification_schema;

  REFERENCE FROM support_resource_schema (label, text);
    ENTITY security_classification;
    ENTITY security_classification_level;

END_SCHEMA;
SCHEMA person_organization_schema;

  REFERENCE FROM basic_attribute_schema (description_attribute, get_description_value, get_id_value, get_name_value, get_role, id_attribute, name_attribute, object_role, role_association);
  REFERENCE FROM support_resource_schema (bag_to_set, identifier, label, text);
    TYPE person_organization_select;
    ENTITY address;
    ENTITY organization;
    ENTITY organization_relationship;
    ENTITY organization_role;
    ENTITY organization_type;
    ENTITY organization_type_relationship;
    ENTITY organizational_address;
    ENTITY organizational_project;
    ENTITY organizational_project_relationship;
    ENTITY person;
    ENTITY person_and_organization;
    ENTITY person_and_organization_role;
    ENTITY person_role;
    ENTITY person_type;
    ENTITY person_type_definition;
    ENTITY person_type_definition_formation;
    ENTITY person_type_definition_relationship;
    ENTITY personal_address;
    ENTITY position_in_organization;
    ENTITY position_in_organization_relationship;
    ENTITY position_in_organization_type;
    FUNCTION acyclic_organization_relationship;
    FUNCTION acyclic_organization_type_relationship;
    FUNCTION acyclic_organizational_project_relationship;
    FUNCTION acyclic_person_type_definition_relationship;
    FUNCTION acyclic_position_in_organization_relationship;

END_SCHEMA;
SCHEMA date_time_schema;

  REFERENCE FROM basic_attribute_schema (description_attribute, get_description_value);
  REFERENCE FROM measure_schema (time_measure_with_unit);
  REFERENCE FROM support_resource_schema (bag_to_set, identifier, label, text);
    TYPE ahead_or_behind;
    TYPE date_time_or_event_occurrence;
    TYPE date_time_select;
    TYPE day_in_month_number;
    TYPE day_in_week_number;
    TYPE day_in_year_number;
    TYPE hour_in_day;
    TYPE minute_in_hour;
    TYPE month_in_year_number;
    TYPE second_in_minute;
    TYPE week_in_year_number;
    TYPE year_number;
    ENTITY calendar_date;
    ENTITY coordinated_universal_time_offset;
    ENTITY date;
    ENTITY date_and_time;
    ENTITY date_role;
    ENTITY date_time_role;
    ENTITY event_occurrence;
    ENTITY event_occurrence_context_role;
    ENTITY event_occurrence_relationship;
    ENTITY event_occurrence_role;
    ENTITY local_time;
    ENTITY ordinal_date;
    ENTITY relative_event_occurrence;
    ENTITY time_interval;
    ENTITY time_interval_relationship;
    ENTITY time_interval_role;
    ENTITY time_interval_with_bounds;
    ENTITY time_role;
    ENTITY week_of_year_and_day_date;
    FUNCTION acyclic_event_occurrence_relationship;
    FUNCTION acyclic_time_interval_relationship;
    FUNCTION leap_year;
    FUNCTION valid_calendar_date;
    FUNCTION valid_time;

END_SCHEMA;
SCHEMA group_schema;

  REFERENCE FROM support_resource_schema (label, bag_to_set, identifier, text);
  REFERENCE FROM basic_attribute_schema (get_id_value, id_attribute);
    ENTITY group;
    ENTITY group_relationship;
    FUNCTION acyclic_group_relationship;

END_SCHEMA;
SCHEMA effectivity_schema;

  REFERENCE FROM basic_attribute_schema (description_attribute, get_description_value, get_name_value, name_attribute);
  REFERENCE FROM date_time_schema (date_time_or_event_occurrence, time_interval);
  REFERENCE FROM measure_schema (measure_with_unit);
  REFERENCE FROM support_resource_schema (bag_to_set, identifier, label, text);
    ENTITY dated_effectivity;
    ENTITY effectivity;
    ENTITY effectivity_relationship;
    ENTITY lot_effectivity;
    ENTITY serial_numbered_effectivity;
    ENTITY time_interval_based_effectivity;
    FUNCTION acyclic_effectivity_relationship;

END_SCHEMA;
SCHEMA external_reference_schema;

  REFERENCE FROM basic_attribute_schema (description_attribute, get_description_value);
  REFERENCE FROM support_resource_schema (label, text, identifier, bag_to_set);
    TYPE message;
    TYPE source_item;
    ENTITY external_source;
    ENTITY external_source_relationship;
    ENTITY externally_defined_item;
    ENTITY externally_defined_item_relationship;
    ENTITY pre_defined_item;
    FUNCTION acyclic_external_source_relationship;
    FUNCTION acyclic_externally_defined_item_relationship;

END_SCHEMA;
SCHEMA support_resource_schema;

    TYPE identifier;
    TYPE label;
    TYPE text;
    FUNCTION bag_to_set;
    FUNCTION type_check_function;

END_SCHEMA;
SCHEMA measure_schema;

  REFERENCE FROM basic_attribute_schema (name_attribute, get_name_value);
  REFERENCE FROM representation_schema (representation_context);
  REFERENCE FROM support_resource_schema;
    TYPE amount_of_substance_measure;
    TYPE area_measure;
    TYPE celsius_temperature_measure;
    TYPE context_dependent_measure;
    TYPE count_measure;
    TYPE descriptive_measure;
    TYPE electric_current_measure;
    TYPE length_measure;
    TYPE luminous_intensity_measure;
    TYPE mass_measure;
    TYPE measure_value;
    TYPE numeric_measure;
    TYPE parameter_value;
    TYPE plane_angle_measure;
    TYPE positive_length_measure;
    TYPE positive_plane_angle_measure;
    TYPE positive_ratio_measure;
    TYPE ratio_measure;
    TYPE si_prefix;
    TYPE si_unit_name;
    TYPE solid_angle_measure;
    TYPE thermodynamic_temperature_measure;
    TYPE time_measure;
    TYPE unit;
    TYPE volume_measure;
    ENTITY amount_of_substance_measure_with_unit;
    ENTITY amount_of_substance_unit;
    ENTITY area_measure_with_unit;
    ENTITY area_unit;
    ENTITY celsius_temperature_measure_with_unit;
    ENTITY context_dependent_unit;
    ENTITY conversion_based_unit;
    ENTITY derived_unit;
    ENTITY derived_unit_element;
    ENTITY dimensional_exponents;
    ENTITY electric_current_measure_with_unit;
    ENTITY electric_current_unit;
    ENTITY global_unit_assigned_context;
    ENTITY length_measure_with_unit;
    ENTITY length_unit;
    ENTITY luminous_intensity_measure_with_unit;
    ENTITY luminous_intensity_unit;
    ENTITY mass_measure_with_unit;
    ENTITY mass_unit;
    ENTITY measure_with_unit;
    ENTITY named_unit;
    ENTITY plane_angle_measure_with_unit;
    ENTITY plane_angle_unit;
    ENTITY ratio_measure_with_unit;
    ENTITY ratio_unit;
    ENTITY si_unit;
    ENTITY solid_angle_measure_with_unit;
    ENTITY solid_angle_unit;
    ENTITY thermodynamic_temperature_measure_with_unit;
    ENTITY thermodynamic_temperature_unit;
    ENTITY time_measure_with_unit;
    ENTITY time_unit;
    ENTITY volume_measure_with_unit;
    ENTITY volume_unit;
    FUNCTION derive_dimensional_exponents;
    FUNCTION dimensions_for_si_unit;
    FUNCTION valid_units;

END_SCHEMA;
SCHEMA basic_attribute_schema;

  REFERENCE FROM action_schema (action, action_request_solution);
  REFERENCE FROM application_context_schema (application_context);
  REFERENCE FROM approval_schema (approval_date_time, approval_role);
  REFERENCE FROM configuration_management_schema (configuration_design);
  REFERENCE FROM date_time_schema (date_role, date_time_role, time_role);
  REFERENCE FROM effectivity_schema (effectivity);
  REFERENCE FROM external_reference_schema (external_source);
  REFERENCE FROM management_resources_schema (action_assignment, action_request_assignment, approval_assignment, certification_assignment, contract_assignment, document_reference, effectivity_assignment, external_referent_assignment, group_assignment, name_assignment, security_classification_assignment);
  REFERENCE FROM measure_schema (derived_unit);
  REFERENCE FROM person_organization_schema (address, person_and_organization_role, person_and_organization, person_role, organization_role, organizational_project);
  REFERENCE FROM product_definition_schema (product_category, product_definition, product_definition_substitute);
  REFERENCE FROM product_property_definition_schema (property_definition, shape_aspect, shape_aspect_relationship);
  REFERENCE FROM product_property_representation_schema (context_dependent_shape_representation, property_definition_representation);
  REFERENCE FROM group_schema (group);
  REFERENCE FROM representation_schema (representation);
  REFERENCE FROM support_resource_schema (identifier, label, text);
    TYPE description_attribute_select;
    TYPE id_attribute_select;
    TYPE name_attribute_select;
    TYPE role_select;
    ENTITY description_attribute;
    ENTITY id_attribute;
    ENTITY name_attribute;
    ENTITY object_role;
    ENTITY role_association;
    FUNCTION get_description_value;
    FUNCTION get_id_value;
    FUNCTION get_name_value;
    FUNCTION get_role;

END_SCHEMA;
SCHEMA experience_schema;

  REFERENCE FROM support_resource_schema (identifier, label, text, bag_to_set);
    ENTITY experience;
    ENTITY experience_relationship;
    ENTITY experience_type;
    ENTITY experience_type_relationship;
    FUNCTION acyclic_experience_relationship;
    FUNCTION acyclic_experience_type_relationship;

END_SCHEMA;
SCHEMA qualifications_schema;

  REFERENCE FROM support_resource_schema (identifier, label, text, bag_to_set);
    ENTITY qualification;
    ENTITY qualification_relationship;
    ENTITY qualification_type;
    ENTITY qualification_type_relationship;
    FUNCTION acyclic_qualification_relationship;
    FUNCTION acyclic_qualification_type_relationship;

END_SCHEMA;
SCHEMA location_schema;

  REFERENCE FROM support_resource_schema (identifier, label, text, bag_to_set);
    ENTITY location;
    ENTITY location_relationship;
    FUNCTION acyclic_location_relationship;

END_SCHEMA;

 (* Document WG12 N4855 date 2007-05-08. EXPRESS listing corresponding to part
 42  edition 3 IS as modified by TC1  - WG12 N4854*)
 SCHEMA geometry_schema;

   REFERENCE FROM representation_schema
     (definitional_representation,
      founded_item,
      functionally_defined_transformation,
      item_in_context,
      representation,
      representation_item,
      representation_context,
      using_representations);
   REFERENCE FROM measure_schema
     (global_unit_assigned_context,
      length_measure,
      parameter_value,
      plane_angle_measure,
      plane_angle_unit,
      positive_length_measure,
      positive_plane_angle_measure);
   REFERENCE FROM topology_schema
     (edge_curve,
      face_surface,
      poly_loop,
      vertex_point);
    REFERENCE FROM geometric_model_schema
      (block,
       boolean_result,
       cyclide_segment_solid,
       eccentric_cone,
       edge_based_wireframe_model,
       ellipsoid,
       face_based_surface_model,
       faceted_primitive,
       geometric_set,
       half_space_solid,
       half_space_2d,
       primitive_2d,
       rectangular_pyramid,
       right_angular_wedge,
       right_circular_cone,
       right_circular_cylinder,
       shell_based_surface_model,
       shell_based_wireframe_model,
       solid_model,
       sphere,
       torus);

     CONSTANT;

    TYPE axis2_placement;
    TYPE b_spline_curve_form;
    TYPE b_spline_surface_form;
    TYPE curve_on_surface;
    TYPE dimension_count;
    TYPE extent_enumeration;
    TYPE knot_type;
    TYPE pcurve_or_surface;
    TYPE preferred_surface_curve_representation;
    TYPE surface_boundary;
    TYPE transition_code;
    TYPE trimming_preference;
    TYPE trimming_select;
    TYPE vector_or_direction;
    ENTITY geometric_representation_context;
    ENTITY axis1_placement;
    ENTITY axis2_placement_2d;
    ENTITY axis2_placement_3d;
    ENTITY b_spline_curve;
    ENTITY b_spline_curve_with_knots;
    ENTITY b_spline_surface;
    ENTITY b_spline_surface_with_knots;
    ENTITY b_spline_volume;
    ENTITY b_spline_volume_with_knots;
    ENTITY bezier_curve;
    ENTITY bezier_surface;
    ENTITY bezier_volume;
    ENTITY block_volume;
    ENTITY boundary_curve;
    ENTITY bounded_curve;
    ENTITY bounded_pcurve;
    ENTITY bounded_surface;
    ENTITY bounded_surface_curve;
    ENTITY cartesian_point;
    ENTITY cartesian_transformation_operator;
    ENTITY cartesian_transformation_operator_2d;
    ENTITY cartesian_transformation_operator_3d;
    ENTITY circle;
    ENTITY circular_involute;
    ENTITY clothoid;
    ENTITY composite_curve;
    ENTITY composite_curve_on_surface;
    ENTITY composite_curve_segment;
    ENTITY conic;
    ENTITY conical_surface;
    ENTITY curve;
    ENTITY curve_bounded_surface;
    ENTITY curve_replica;
    ENTITY cylindrical_point;
    ENTITY cylindrical_surface;
    ENTITY cylindrical_volume;
    ENTITY degenerate_pcurve;
    ENTITY degenerate_toroidal_surface;
    ENTITY direction;
    ENTITY dupin_cyclide_surface;
    ENTITY eccentric_conical_volume;
    ENTITY elementary_surface;
    ENTITY ellipse;
    ENTITY ellipsoid_volume;
    ENTITY evaluated_degenerate_pcurve;
    ENTITY fixed_reference_swept_surface;
    ENTITY geometric_representation_item;
    ENTITY line;
    ENTITY hexahedron_volume;
    ENTITY hyperbola;
    ENTITY intersection_curve;
    ENTITY offset_curve_2d;
    ENTITY offset_curve_3d;
    ENTITY offset_surface;
    ENTITY oriented_surface;
    ENTITY outer_boundary_curve;
    ENTITY parabola;
    ENTITY pcurve;
    ENTITY placement;
    ENTITY plane;
    ENTITY polar_point;
    ENTITY point;
    ENTITY point_in_volume;
    ENTITY point_on_curve;
    ENTITY point_on_surface;
    ENTITY point_replica;
    ENTITY polyline;
    ENTITY pyramid_volume;
    ENTITY quasi_uniform_curve;
    ENTITY quasi_uniform_surface;
    ENTITY quasi_uniform_volume;
    ENTITY rational_b_spline_curve;
    ENTITY rational_b_spline_surface;
    ENTITY rational_b_spline_volume;
    ENTITY rectangular_composite_surface;
    ENTITY rectangular_trimmed_surface;
    ENTITY reparametrised_composite_curve_segment;
    ENTITY seam_curve;
    ENTITY spherical_point;
    ENTITY spherical_surface;
    ENTITY spherical_volume;
    ENTITY surface;
    ENTITY surface_curve;
    ENTITY surface_curve_swept_surface;
    ENTITY surface_of_linear_extrusion;
    ENTITY surface_of_revolution;
    ENTITY surface_patch;
    ENTITY surface_replica;
    ENTITY swept_surface;
    ENTITY tetrahedron_volume;
    ENTITY toroidal_volume;
    ENTITY trimmed_curve;
    ENTITY toroidal_surface;
    ENTITY uniform_curve;
    ENTITY uniform_surface;
    ENTITY uniform_volume;
    ENTITY vector;
    ENTITY volume;
    ENTITY wedge_volume;
    RULE compatible_dimension;
    FUNCTION above_plane;
    FUNCTION acyclic_curve_replica;
    FUNCTION acyclic_point_replica;
    FUNCTION acyclic_surface_replica;
    FUNCTION associated_surface;
    FUNCTION base_axis;
    FUNCTION build_2axes;
    FUNCTION build_axes;
    FUNCTION constraints_composite_curve_on_surface;
    FUNCTION constraints_param_b_spline;
    FUNCTION constraints_rectangular_composite_surface;
    FUNCTION cross_product;
    FUNCTION curve_weights_positive;
    FUNCTION default_b_spline_curve_weights;
    FUNCTION default_b_spline_surface_weights;
    FUNCTION default_b_spline_knot_mult;
    FUNCTION default_b_spline_knots;
    FUNCTION dimension_of;
    FUNCTION dot_product;
    FUNCTION first_proj_axis;
    FUNCTION get_basis_surface;
    FUNCTION list_to_array;
    FUNCTION make_array_of_array;
    FUNCTION make_array_of_array_of_array;
    FUNCTION normalise;
    FUNCTION orthogonal_complement;
    FUNCTION same_side;
    FUNCTION scalar_times_vector;
    FUNCTION second_proj_axis;
    FUNCTION surface_weights_positive;
    FUNCTION vector_difference;
    FUNCTION vector_sum;
    FUNCTION volume_weights_positive;

 END_SCHEMA; -- end GEOMETRY schema

 SCHEMA topology_schema;
 
   REFERENCE FROM geometry_schema;
   REFERENCE FROM representation_schema(representation_item);

     CONSTANT;

    TYPE list_of_reversible_topology_item;
    TYPE reversible_topology;
    TYPE reversible_topology_item;
    TYPE set_of_reversible_topology_item;
    TYPE shell;
    ENTITY closed_shell;
    ENTITY connected_edge_set;
    ENTITY connected_face_set;
    ENTITY connected_face_sub_set;
    ENTITY edge;
    ENTITY edge_curve;
    ENTITY edge_loop;
    ENTITY face;
    ENTITY face_bound;
    ENTITY face_outer_bound;
    ENTITY face_surface;
    ENTITY loop;
    ENTITY open_path;
    ENTITY open_shell;
    ENTITY oriented_closed_shell;
    ENTITY oriented_edge;
    ENTITY oriented_face;
    ENTITY oriented_open_shell;
    ENTITY oriented_path;
    ENTITY path;
    ENTITY poly_loop;
    ENTITY seam_edge;
    ENTITY subedge;
    ENTITY subface;
    ENTITY topological_representation_item;
    ENTITY vertex;
    ENTITY vertex_point;
    ENTITY vertex_loop;
    ENTITY vertex_shell;
    ENTITY wire_shell;
    FUNCTION boolean_choose;
    FUNCTION closed_shell_reversed;
    FUNCTION conditional_reverse;
    FUNCTION edge_curve_pcurves;
    FUNCTION edge_reversed;
    FUNCTION face_bound_reversed;
    FUNCTION face_reversed;
    FUNCTION list_face_loops;
    FUNCTION list_loop_edges;
    FUNCTION list_of_topology_reversed;
    FUNCTION list_shell_edges;
    FUNCTION list_shell_faces;
    FUNCTION list_shell_loops;
    FUNCTION list_to_set;
    FUNCTION mixed_loop_type_set;
    FUNCTION open_shell_reversed;
    FUNCTION path_head_to_tail;
    FUNCTION path_reversed;
    FUNCTION set_of_topology_reversed;
    FUNCTION shell_reversed;
    FUNCTION topology_reversed;
    FUNCTION vertex_point_pcurves;

 END_SCHEMA; -- end TOPOLOGY schema

 SCHEMA geometric_model_schema;
 
    REFERENCE FROM geometry_schema;
    REFERENCE FROM topology_schema;
    REFERENCE FROM measure_schema(length_measure,
                                  parameter_value,
                                  plane_angle_measure,
                                  plane_angle_unit,
                                  positive_length_measure,
                                  positive_plane_angle_measure);
    REFERENCE FROM representation_schema(founded_item,
                                        representation_item);
    TYPE boolean_operand;
    TYPE boolean_operator;
    TYPE csg_select;
    TYPE csg_primitive;
    TYPE geometric_set_select;
    TYPE surface_model;
    TYPE wireframe_model;
    ENTITY block;
    ENTITY boolean_result;
    ENTITY box_domain;
    ENTITY boxed_half_space;
    ENTITY brep_2d;
    ENTITY brep_with_voids;
    ENTITY circular_area;
    ENTITY convex_hexahedron;
    ENTITY csg_solid;
    ENTITY cyclide_segment_solid;
    ENTITY eccentric_cone;
    ENTITY edge_based_wireframe_model;
    ENTITY face_based_surface_model;
    ENTITY geometric_curve_set;
    ENTITY geometric_set;
    ENTITY ellipsoid;
    ENTITY elliptic_area;
    ENTITY extruded_area_solid;
    ENTITY extruded_face_solid;
    ENTITY faceted_brep;
    ENTITY faceted_primitive;
    ENTITY geometric_set_replica;
    ENTITY half_space_2d;
    ENTITY half_space_solid;
    ENTITY manifold_solid_brep;
    ENTITY polygonal_area;
    ENTITY primitive_2d;
    ENTITY rectangle_domain;
    ENTITY rectangled_half_space;
    ENTITY rectangular_area;
    ENTITY rectangular_pyramid;
    ENTITY revolved_area_solid;
    ENTITY revolved_face_solid;
    ENTITY right_angular_wedge;
    ENTITY right_circular_cone;
    ENTITY right_circular_cylinder;
    ENTITY sectioned_spine;
    ENTITY shell_based_surface_model;
    ENTITY shell_based_wireframe_model;
    ENTITY solid_model;
    ENTITY solid_replica;
    ENTITY sphere;
    ENTITY surface_curve_swept_area_solid;
    ENTITY surface_curve_swept_face_solid;
    ENTITY swept_area_solid;
    ENTITY swept_disk_solid;
    ENTITY swept_face_solid;
    ENTITY tetrahedron;
    ENTITY torus;
    ENTITY trimmed_volume;
    FUNCTION acyclic_set_replica;
    FUNCTION acyclic_solid_replica;
    FUNCTION build_transformed_set;
    FUNCTION constraints_geometry_shell_based_surface_model;
    FUNCTION constraints_geometry_shell_based_wireframe_model;
    FUNCTION msb_shells;
 
 
 END_SCHEMA; -- end GEOMETRIC MODEL schema


SCHEMA representation_schema; 
 
 

REFERENCE FROM basic_attribute_schema
  (get_description_value,
   get_id_value);

REFERENCE FROM measure_schema
  (measure_value,
   measure_with_unit);

REFERENCE FROM support_resource_schema
  (bag_to_set,
   identifier,
   label,
   text);
    TYPE compound_item_definition;
    TYPE founded_item_select;
    TYPE list_representation_item;
    TYPE set_representation_item;
    TYPE transformation;
    ENTITY compound_representation_item;
    ENTITY definitional_representation;
    ENTITY founded_item;
    ENTITY functionally_defined_transformation;
    ENTITY global_uncertainty_assigned_context;
    ENTITY item_defined_transformation;
    ENTITY mapped_item;
    ENTITY parametric_representation_context;
    ENTITY representation;
    ENTITY representation_context;
    ENTITY representation_item;
    ENTITY representation_item_relationship;
    ENTITY representation_map;
    ENTITY representation_relationship;
    ENTITY representation_relationship_with_transformation;
    ENTITY uncertainty_assigned_representation;
    ENTITY uncertainty_measure_with_unit;
    ENTITY value_representation_item;
    FUNCTION acyclic_mapped_representation;
    FUNCTION item_in_context;
    FUNCTION using_items;
    FUNCTION using_representations;
    FUNCTION valid_measure_value;

END_SCHEMA; -- representation_schema


SCHEMA product_structure_schema;


  REFERENCE FROM product_definition_schema
    (product,
     product_definition,
     product_definition_relationship,
     acyclic_product_definition_relationship);

  REFERENCE FROM measure_schema
     (measure_with_unit);

  REFERENCE FROM support_resource_schema
     (identifier, label, text);
    ENTITY alternate_product_relationship;
    ENTITY assembly_component_usage;
    ENTITY assembly_component_usage_substitute;
    ENTITY assembly_component_usage_substitute_with_ranking;
    ENTITY make_from_usage_option;
    ENTITY make_from_usage_option_group;
    ENTITY next_assembly_usage_occurrence;
    ENTITY product_definition_occurrence_relationship;
    ENTITY product_definition_usage;
    ENTITY promissory_usage_occurrence;
    ENTITY quantified_assembly_component_usage;
    ENTITY specified_higher_usage_occurrence;

END_SCHEMA; -- product_structure

SCHEMA product_concept_schema;


  REFERENCE FROM support_resource_schema
    (text, label, identifier);

  REFERENCE FROM application_context_schema
    (product_concept_context);
    ENTITY concept_feature_operator;
    ENTITY concept_feature_relationship;
    ENTITY concept_feature_relationship_with_condition;
    ENTITY conditional_concept_feature;
    ENTITY product_concept;
    ENTITY product_concept_feature;
    ENTITY product_concept_feature_association;
    ENTITY product_concept_relationship;

END_SCHEMA; -- product_concept_schema

SCHEMA configuration_management_schema;


  REFERENCE FROM product_definition_schema
    (product_definition,
     product_definition_formation,
     product_definition_effectivity);

  REFERENCE FROM product_structure_schema
    (product_definition_usage);

  REFERENCE FROM product_concept_schema
    (product_concept,
     product_concept_feature_association);

  REFERENCE FROM basic_attribute_schema
    (get_description_value,
     get_name_value);

  REFERENCE FROM support_resource_schema
    (text, label, identifier, bag_to_set);
    TYPE configuration_design_item;
    ENTITY configurable_item;
    ENTITY configuration_design;
    ENTITY configuration_effectivity;
    ENTITY configuration_item;
    ENTITY configuration_item_relationship;

END_SCHEMA; -- configuration_management_schema

(*

The following EXPRESS incorporates ISO 10303-45 
   Technical Corrigendum 1 into the IS version of the
   EXPRESS.  This document is ISO TC 184/SC4/WG12 N256

*)
SCHEMA material_property_definition_schema;


REFERENCE FROM product_definition_schema
      (product_definition_relationship);

REFERENCE FROM product_property_definition_schema
      (characterized_definition,
      property_definition);

REFERENCE FROM support_resource_schema
     (label,
      text,
      bag_to_set);

REFERENCE FROM measure_schema
     (measure_with_unit);

REFERENCE FROM material_property_representation_schema
     (material_property_representation);
    TYPE characterized_material_property;
    ENTITY material_property;
    ENTITY property_definition_relationship;
    ENTITY material_designation;
    ENTITY material_designation_characterization;
    ENTITY product_material_composition_relationship;
    FUNCTION acyclic_property_definition_relationship;

END_SCHEMA;    -- material_property_definition_schema

SCHEMA material_property_representation_schema;


REFERENCE FROM product_property_representation_schema
     (property_definition_representation);

REFERENCE FROM support_resource_schema
     (label,
      text);
    ENTITY material_property_representation;
    ENTITY data_environment;
    ENTITY data_environment_relationship;

END_SCHEMA;    -- material_property_representation_schema

SCHEMA qualified_measure_schema;


REFERENCE FROM support_resource_schema
     (label,
      text);

REFERENCE FROM measure_schema
     (measure_with_unit);

REFERENCE FROM representation_schema
     (representation_item);
    TYPE value_qualifier;
    ENTITY type_qualifier;
    ENTITY precision_qualifier;
    ENTITY uncertainty_qualifier;
    ENTITY qualitative_uncertainty;
    ENTITY standard_uncertainty;
    ENTITY expanded_uncertainty;
    ENTITY measure_representation_item;
    ENTITY descriptive_representation_item;
    ENTITY qualified_representation_item;
    ENTITY measure_qualification;

END_SCHEMA;  -- qualified_measure_schema

(*  

    The following EXPRESS is for ISO 10303-46:1994 Technical Corrigendum 2



    This is document ISO TC184/SC4/WG12 N996

*)



SCHEMA presentation_organization_schema;



REFERENCE FROM presentation_resource_schema
   (colour,
    planar_box,
    planar_extent,
    presentation_scaled_placement);


REFERENCE FROM presentation_definition_schema

    (annotation_occurrence,

     symbol_representation,

     symbol_representation_relationship);



REFERENCE FROM presentation_appearance_schema

    (styled_item);



REFERENCE FROM geometry_schema

    (axis2_placement_2d,

     axis2_placement_3d,

     cartesian_point,

     curve,

     direction,

     dot_product,

     geometric_representation_context,

     geometric_representation_item,

     plane

     );

 

REFERENCE FROM representation_schema

    (founded_item,

     item_defined_transformation,

     item_in_context,

     mapped_item,

     representation,

     representation_item,

     representation_map,

     representation_relationship,

     representation_relationship_with_transformation);

 

REFERENCE FROM measure_schema
   (length_measure,
    positive_ratio_measure,
    positive_plane_angle_measure);
 

REFERENCE FROM support_resource_schema

    (identifier,

     label,

     text,

     bag_to_set);
    TYPE presentation_size_assignment_select;
    TYPE area_or_view;
    TYPE central_or_parallel;
    TYPE layered_item;
    TYPE presentation_representation_select;
    ENTITY presentation_set;
    ENTITY presentation_representation;
    ENTITY presentation_area;
    ENTITY area_in_set;
    ENTITY presentation_view;
    ENTITY area_dependent_annotation_representation;
    ENTITY product_data_representation_view;
    ENTITY view_dependent_annotation_representation;
    ENTITY presentation_size;
    ENTITY background_colour;
    ENTITY presentation_representation_relationship;
    ENTITY graphical_transformation;
    ENTITY camera_model;
    ENTITY camera_model_d2;
    ENTITY camera_model_d2_shape_clipping;
    ENTITY camera_model_d3;
    ENTITY view_volume;
    ENTITY camera_model_d3_with_hlhsr;
    ENTITY camera_model_d3_multi_clipping;
    ENTITY camera_model_with_light_sources;
    ENTITY light_source;
    ENTITY light_source_ambient;
    ENTITY light_source_directional;
    ENTITY light_source_positional;
    ENTITY light_source_spot;
    ENTITY camera_image;
    ENTITY camera_usage;
    ENTITY camera_image_3d_with_scale;
    ENTITY presentation_layer_assignment;
    ENTITY representation_item_dependent_layer_assignment;
    ENTITY presentation_layer_usage;
    ENTITY presented_item_representation;
    ENTITY presented_item;
    RULE symbol_representation_rule;
    FUNCTION acyclic_presentation_representation_relationship;
    FUNCTION aspect_ratio;


END_SCHEMA; -- presentation_organization_schema 



SCHEMA presentation_definition_schema;



 

REFERENCE FROM external_reference_schema

    (externally_defined_item,

     pre_defined_item);

 

REFERENCE FROM geometry_schema

    (axis2_placement,

     curve,

     geometric_representation_item,

     point

     );

 

REFERENCE FROM measure_schema

    (positive_ratio_measure);

 

REFERENCE FROM presentation_appearance_schema

    (styled_item);

 

REFERENCE FROM presentation_resource_schema

    (character_glyph_symbol,

     planar_box,

     planar_extent,

     font_select,

     presentable_text,

     text_font);

 

REFERENCE FROM representation_schema

    (item_in_context,

     mapped_item,

     representation,

     representation_item,

     representation_map,

     representation_relationship,

     representation_relationship_with_transformation,

     using_representations);



REFERENCE FROM support_resource_schema

    (label,

     text,

     bag_to_set);
    TYPE text_delineation;
    TYPE defined_symbol_select;
    TYPE text_or_character;
    TYPE text_alignment;
    TYPE defined_glyph_select;
    TYPE text_path;
    ENTITY annotation_fill_area;
    ENTITY defined_symbol;
    ENTITY defined_table;
    ENTITY symbol_target;
    ENTITY pre_defined_symbol;
    ENTITY externally_defined_symbol;
    ENTITY annotation_symbol;
    ENTITY annotation_table;
    ENTITY symbol_representation_map;
    ENTITY symbol_representation;
    ENTITY symbol_representation_with_blanking_box;
    ENTITY table_representation;
    ENTITY table_record_representation;
    ENTITY table_record_field_representation;
    ENTITY table_record_field_representation_with_clipping_box;
    ENTITY symbol_representation_relationship;
    ENTITY table_representation_relationship;
    ENTITY annotation_text;
    ENTITY annotation_text_with_extent;
    ENTITY annotation_text_with_delineation;
    ENTITY annotation_text_with_blanking_box;
    ENTITY annotation_text_with_associated_curves;
    ENTITY text_string_representation;
    ENTITY annotation_text_character;
    ENTITY defined_character_glyph;
    ENTITY externally_defined_character_glyph;
    ENTITY pre_defined_character_glyph;
    ENTITY text_literal;
    ENTITY text_literal_with_extent;
    ENTITY text_literal_with_delineation;
    ENTITY text_literal_with_blanking_box;
    ENTITY text_literal_with_associated_curves;
    ENTITY composite_text;
    ENTITY composite_text_with_extent;
    ENTITY composite_text_with_delineation;
    ENTITY composite_text_with_blanking_box;
    ENTITY composite_text_with_associated_curves;
    ENTITY annotation_occurrence;
    ENTITY annotation_point_occurrence;
    ENTITY annotation_curve_occurrence;
    ENTITY annotation_fill_area_occurrence;
    ENTITY annotation_text_occurrence;
    ENTITY annotation_symbol_occurrence;
    ENTITY annotation_table_occurrence;
    ENTITY annotation_occurrence_relationship;
    ENTITY table_text_relationship;
    FUNCTION acyclic_composite_text;
    FUNCTION acyclic_symbol_representation_relationship;
    FUNCTION field_in_table;



END_SCHEMA; -- presentation_definition_schema



SCHEMA presentation_appearance_schema;




 

REFERENCE FROM external_reference_schema

    (externally_defined_item,

     pre_defined_item);



REFERENCE FROM geometry_schema

    (axis2_placement,

     cartesian_point,

     curve,

     geometric_representation_item,

     point,

     vector);



REFERENCE FROM group_schema

  (group);



REFERENCE FROM measure_schema

    (descriptive_measure,

     length_measure,

     measure_with_unit,

     plane_angle_measure,

     positive_length_measure,

     ratio_measure,

     positive_ratio_measure);



REFERENCE FROM presentation_organization_schema

     (area_dependent_annotation_representation,

      presentation_area,

      presentation_layer_assignment,

      presentation_layer_usage,

      presentation_representation,

      presentation_set,

      presentation_view,

      product_data_representation_view,

      view_dependent_annotation_representation);



REFERENCE FROM presentation_definition_schema

    (annotation_curve_occurrence,

     annotation_fill_area,

     annotation_symbol_occurrence,

     annotation_text_with_delineation,

     symbol_representation_with_blanking_box);



REFERENCE FROM presentation_resource_schema

    (character_glyph_symbol_outline,

     character_glyph_symbol_stroke,

     colour);



REFERENCE FROM representation_schema

    (mapped_item,

     representation,

     representation_item,

     representation_map,

     using_representations);



REFERENCE FROM support_resource_schema

    (label,

     bag_to_set);
    TYPE style_context_select;
    TYPE presentation_style_select;
    TYPE null_style;
    TYPE marker_select;
    TYPE marker_type;
    TYPE size_select;
    TYPE curve_font_or_scaled_curve_font_select;
    TYPE curve_style_font_select;
    TYPE squared_or_rounded;
    TYPE fill_style_select;
    TYPE fill_area_style_tile_shape_select;
    TYPE curve_or_annotation_curve_occurrence;
    TYPE surface_side;
    TYPE surface_side_style_select;
    TYPE surface_style_element_select;
    TYPE curve_or_render;
    TYPE shading_curve_method;
    TYPE direction_count_select;
    TYPE u_direction_count;
    TYPE v_direction_count;
    TYPE shading_surface_method;
    TYPE rendering_properties_select;
    TYPE character_style_select;
    TYPE text_justification;
    TYPE box_characteristic_select;
    TYPE box_height;
    TYPE box_width;
    TYPE box_slant_angle;
    TYPE box_rotate_angle;
    TYPE character_spacing_select;
    TYPE symbol_style_select;
    TYPE tolerance_select;
    TYPE approximation_method;
    TYPE tolerance_deviation_select;
    TYPE curve_tolerance_deviation;
    TYPE surface_tolerance_deviation;
    TYPE product_or_presentation_space;
    TYPE tolerance_parameter_select;
    TYPE curve_tolerance_parameter;
    TYPE surface_tolerance_parameter;
    TYPE hiding_or_blanking_select;
    TYPE invisibility_context;
    TYPE invisible_item;
    ENTITY styled_item;
    ENTITY over_riding_styled_item;
    ENTITY context_dependent_over_riding_styled_item;
    ENTITY presentation_style_assignment;
    ENTITY presentation_style_by_context;
    ENTITY pre_defined_presentation_style;
    ENTITY externally_defined_style;
    ENTITY point_style;
    ENTITY pre_defined_marker;
    ENTITY pre_defined_size;
    ENTITY curve_style;
    ENTITY curve_style_with_ends_and_corners;
    ENTITY curve_style_with_extension;
    ENTITY pre_defined_curve_font;
    ENTITY externally_defined_curve_font;
    ENTITY curve_style_font;
    ENTITY curve_style_font_pattern;
    ENTITY curve_style_wide;
    ENTITY curve_style_curve_pattern_set;
    ENTITY curve_style_curve_pattern;
    ENTITY curve_style_font_and_scaling;
    ENTITY draughting_pre_defined_curve_font;
    ENTITY fill_area_style;
    ENTITY fill_area_style_colour;
    ENTITY pre_defined_hatch_style;
    ENTITY externally_defined_hatch_style;
    ENTITY fill_area_style_hatching;
    ENTITY pre_defined_tile_style;
    ENTITY externally_defined_tile_style;
    ENTITY fill_area_style_tiles;
    ENTITY fill_area_style_tile_curve_with_style;
    ENTITY fill_area_style_tile_coloured_region;
    ENTITY fill_area_style_tile_symbol_with_style;
    ENTITY pre_defined_tile;
    ENTITY externally_defined_tile;
    ENTITY one_direction_repeat_factor;
    ENTITY two_direction_repeat_factor;
    ENTITY surface_style_usage;
    ENTITY pre_defined_surface_side_style;
    ENTITY surface_side_style;
    ENTITY surface_style_fill_area;
    ENTITY surface_style_boundary;
    ENTITY curve_style_rendering;
    ENTITY surface_rendering_properties;
    ENTITY surface_style_silhouette;
    ENTITY surface_style_segmentation_curve;
    ENTITY surface_style_control_grid;
    ENTITY surface_style_parameter_line;
    ENTITY surface_style_rendering;
    ENTITY surface_style_rendering_with_properties;
    ENTITY surface_style_reflectance_ambient;
    ENTITY surface_style_reflectance_ambient_diffuse;
    ENTITY surface_style_reflectance_ambient_diffuse_specular;
    ENTITY surface_style_transparent;
    ENTITY text_style;
    ENTITY character_glyph_style_stroke;
    ENTITY character_glyph_style_outline;
    ENTITY character_glyph_style_outline_with_characteristics;
    ENTITY text_style_for_defined_font;
    ENTITY text_style_with_justification;
    ENTITY text_style_with_box_characteristics;
    ENTITY text_style_with_spacing;
    ENTITY pre_defined_character_spacing;
    ENTITY text_style_with_mirror;
    ENTITY symbol_style;
    ENTITY symbol_element_style;
    ENTITY symbol_colour;
    ENTITY approximation_tolerance;
    ENTITY approximation_tolerance_deviation;
    ENTITY approximation_tolerance_parameter;
    ENTITY occlusion_precedence;
    ENTITY invisibility;
    ENTITY context_dependent_invisibility;
    FUNCTION acyclic_occlusion_precedence;



END_SCHEMA; -- presentation_appearance_schema



SCHEMA presentation_resource_schema;






REFERENCE FROM external_reference_schema

    (externally_defined_item,

     pre_defined_item);



REFERENCE FROM geometry_schema

    (axis2_placement,

     curve,

     geometric_representation_item

     );



REFERENCE FROM measure_schema

    (length_measure,

     positive_length_measure,

     positive_ratio_measure,

     ratio_measure);



REFERENCE FROM presentation_definition_schema

    (annotation_fill_area,

     symbol_representation);



REFERENCE FROM representation_schema

    (item_in_context,

     representation);



REFERENCE FROM support_resource_schema

    (identifier,

     label,

     text);
    TYPE staircase_or_linear;
    TYPE presentable_text;
    TYPE font_select;
    ENTITY character_glyph_symbol;
    ENTITY character_glyph_symbol_stroke;
    ENTITY character_glyph_symbol_outline;
    ENTITY character_glyph_font_usage;
    ENTITY text_font;
    ENTITY text_font_family;
    ENTITY text_font_in_family;
    ENTITY externally_defined_text_font;
    ENTITY pre_defined_text_font;
    ENTITY colour;
    ENTITY colour_specification;
    ENTITY colour_rgb;
    ENTITY colour_associated;
    ENTITY colour_association_table;
    ENTITY state_variable_with_colour;
    ENTITY pre_defined_colour;
    ENTITY planar_extent;
    ENTITY planar_box;
    ENTITY presentation_scaled_placement;
    ENTITY draughting_pre_defined_colour;
    ENTITY draughting_pre_defined_text_font;


END_SCHEMA; -- presentation_resource_schema

(* 
This is WG12 N548.  This incorporates the changes identified in ISO 10303-47 TC1 
  into the EXPRESS of the document
*)

SCHEMA shape_aspect_definition_schema;


REFERENCE FROM product_property_definition_schema
    (shape_aspect,
     shape_aspect_relationship);
REFERENCE FROM measure_schema
    (measure_with_unit);
REFERENCE FROM support_resource_schema
    (bag_to_set, label, identifier);
    TYPE limit_condition;
    ENTITY datum;
    ENTITY datum_feature;
    ENTITY datum_target;
    ENTITY datum_reference;
    ENTITY referenced_modified_datum;
    ENTITY composite_shape_aspect;
    ENTITY derived_shape_aspect;
    ENTITY apex;
    ENTITY centre_of_symmetry;
    ENTITY geometric_alignment;
    ENTITY geometric_intersection;
    ENTITY parallel_offset;
    ENTITY perpendicular_to;
    ENTITY extension;
    ENTITY tangent;
    ENTITY shape_aspect_deriving_relationship;
    ENTITY symmetric_shape_aspect;

END_SCHEMA;  --  shape_aspect_definition_schema

SCHEMA shape_dimension_schema;

REFERENCE FROM measure_schema
   (measure_with_unit);
REFERENCE FROM representation_schema
    (representation);
REFERENCE FROM qualified_measure_schema
    (measure_representation_item, 
     qualified_representation_item);
REFERENCE FROM product_property_representation_schema
    (shape_representation);
REFERENCE FROM product_property_definition_schema
    (shape_aspect,
     shape_aspect_relationship);
REFERENCE FROM support_resource_schema
    (label,
     text);
    TYPE angle_relator;
    TYPE dimensional_characteristic;
    ENTITY angular_location;
    ENTITY angular_size;
    ENTITY dimensional_characteristic_representation;
    ENTITY dimensional_location;
    ENTITY dimensional_location_with_path;
    ENTITY dimensional_size;
    ENTITY dimensional_size_with_path;
    ENTITY shape_dimension_representation;

END_SCHEMA;   --  shape_dimension_schema

SCHEMA shape_tolerance_schema;

REFERENCE FROM product_property_definition_schema
    (shape_aspect,
     shape_aspect_relationship);
REFERENCE FROM measure_schema
   (derive_dimensional_exponents,
    dimensional_exponents,
    measure_with_unit,
    measure_value);
REFERENCE FROM representation_schema
    (representation);
REFERENCE FROM support_resource_schema
    (label,
     text);
REFERENCE FROM shape_aspect_definition_schema
    (datum_reference,
     limit_condition);
REFERENCE FROM shape_dimension_schema
    (dimensional_characteristic,
     dimensional_location);
    TYPE tolerance_method_definition;
    TYPE shape_tolerance_select;
    ENTITY dimension_related_tolerance_zone_element;
    ENTITY geometric_tolerance;
    ENTITY geometric_tolerance_relationship;
    ENTITY geometric_tolerance_with_datum_reference;
    ENTITY geometric_tolerance_with_defined_unit;
    ENTITY modified_geometric_tolerance;
    ENTITY projected_zone_definition;
    ENTITY runout_zone_definition;
    ENTITY runout_zone_orientation;
    ENTITY runout_zone_orientation_reference_direction;
    ENTITY statistical_distribution_for_tolerance;
    ENTITY tolerance_with_statistical_distribution;
    ENTITY tolerance_zone;
    ENTITY tolerance_zone_form;
    ENTITY tolerance_zone_definition;
    ENTITY limits_and_fits;
    ENTITY plus_minus_tolerance;
    ENTITY tolerance_value;

END_SCHEMA;   -- End of shape_tolerance_schema


SCHEMA method_definition_schema;


REFERENCE FROM action_schema
    (action_method, 
     action_method_relationship, 
     action_relationship);

REFERENCE FROM document_schema
    (document, 
     document_usage_constraint);

REFERENCE FROM effectivity_schema
    (effectivity);

REFERENCE FROM measure_schema
    (count_measure);

REFERENCE FROM support_resource_schema
    (label, 
     text);

REFERENCE FROM process_property_schema
    (product_definition_process,
     property_process);
    TYPE relationship_with_condition;
    TYPE process_or_process_relationship;
    ENTITY action_method_with_associated_documents;
    ENTITY action_method_with_associated_documents_constrained;
    ENTITY action_method_to_select_from;
    ENTITY process_or_process_relationship_effectivity;
    ENTITY serial_action_method;
    ENTITY sequential_method;
    ENTITY concurrent_action_method;
    ENTITY context_dependent_action_method_relationship;
    ENTITY context_dependent_action_relationship;
    ENTITY relationship_condition;

END_SCHEMA;  -- method_definition_schema

SCHEMA process_property_schema;


REFERENCE FROM action_schema
    (action, 
     action_method,
     action_method_relationship,
     action_relationship,
     action_resource,
     action_resource_relationship,
     acyclic_action_relationship);

REFERENCE FROM product_property_definition_schema
    (characterized_product_definition,
     property_definition, 
     shape_definition);

REFERENCE FROM support_resource_schema
    (identifier,
     label,
     text);
    TYPE characterized_action_definition;
    TYPE characterized_resource_definition;
    TYPE property_or_shape_select;
    ENTITY action_property;
    ENTITY product_definition_process;
    ENTITY process_product_association;
    ENTITY property_process;
    ENTITY process_property_association;
    ENTITY replacement_relationship;
    ENTITY resource_property;
    ENTITY action_resource_requirement;
    ENTITY action_property_relationship;
    ENTITY requirement_for_action_resource;
    ENTITY resource_property_relationship;
    ENTITY action_resource_requirement_relationship;
    ENTITY resource_requirement_type;
    ENTITY resource_requirement_type_relationship;

END_SCHEMA; -- process_property_schema

SCHEMA process_property_representation_schema;


REFERENCE FROM support_resource_schema
    (label, 
     text);

REFERENCE FROM representation_schema
    (representation);

REFERENCE FROM process_property_schema
    (action_property, 
     resource_property);
    ENTITY action_property_representation;
    ENTITY resource_property_representation;

END_SCHEMA; -- process_property_representation_schema

SCHEMA mathematical_functions_schema;

-- This file constitutes document WG12 N921
-- Master document: ISO 10303-50:2001
-- EXPRESS last modified: 2001-09-07

REFERENCE FROM ISO13584_generic_expressions_schema     -- ISO 13584-20
  (binary_generic_expression,
   environment,
   generic_expression,
   generic_literal,
   generic_variable,
   multiple_arity_generic_expression,
   simple_generic_expression,
   unary_generic_expression,
   variable_semantics);

REFERENCE FROM ISO13584_expressions_schema             -- ISO 13584-20
  (abs_expression                   AS abs_function,
   acos_expression                  AS acos_function,
   and_expression,
   asin_expression                  AS asin_function,
   atan_expression                  AS atan_function,
   binary_boolean_expression,
   binary_numeric_call_expression           AS binary_function_call,
   binary_numeric_expression,
   boolean_defined_expression       AS boolean_defined_function,
   boolean_expression,
   boolean_literal,
   boolean_variable,
   comparison_equal,
   comparison_expression,
   comparison_greater,
   comparison_greater_equal,
   comparison_less,
   comparison_less_equal,
   comparison_not_equal,
   concat_expression,
   cos_expression                   AS cos_function,
   defined_expression               AS defined_function,
   div_expression,
   equals_expression,
   exp_expression                   AS exp_function,
   expression,
   format_expression                AS format_function,
   index_expression,
   int_literal,
   int_numeric_variable,
   int_value_expression             AS int_value_function,
   integer_defined_expression       AS integer_defined_function,
   interval_expression,
   length_expression                AS length_function,
   like_expression,
   literal_number,
   log_expression                   AS log_function,
   log10_expression                 AS log10_function,
   log2_expression                  AS log2_function,
   maximum_expression               AS maximum_function,
   minimum_expression               AS minimum_function,
   minus_expression,
   unary_minus_expression                 AS minus_function,
   mod_expression,
   mult_expression,
   multiple_arity_boolean_expression,
   multiple_arity_numeric_call_expression   AS multiple_arity_function_call,
   multiple_arity_numeric_expression,
   not_expression,
   numeric_defined_expression       AS numeric_defined_function,
   numeric_expression,
   numeric_variable,
   odd_expression                   AS odd_function,
   or_expression,
   plus_expression,
   power_expression,
   real_defined_expression          AS real_defined_function,
   real_literal,
   real_numeric_variable,
   simple_boolean_expression,
   simple_numeric_expression,
   simple_string_expression,
   sin_expression                   AS sin_function,
   slash_expression,
   sql_mappable_defined_expression  AS sql_mappable_defined_function,
   square_root_expression           AS square_root_function,
   string_defined_expression        AS string_defined_function,
   string_expression,
   string_literal,
   string_variable,
   substring_expression,
   tan_expression                   AS tan_function,
   unary_boolean_expression,
   unary_numeric_call_expression            AS unary_function_call,
   unary_numeric_expression,
   value_expression                 AS value_function,
   variable,
   xor_expression);

REFERENCE FROM support_resource_schema                 -- ISO 10303-41
  (label,
   text);

REFERENCE FROM external_reference_schema               -- ISO 10303-41
  (externally_defined_item);

REFERENCE FROM geometry_schema                         -- ISO 10303-42
  (curve,
   dimension_of,
   point,
   surface,
   volume);

    CONSTANT;

    TYPE nonnegative_integer;
    TYPE positive_integer;
    TYPE zero_or_one;
    TYPE one_or_two;
    TYPE maths_number;
    TYPE maths_real;
    TYPE maths_integer;
    TYPE maths_logical;
    TYPE maths_boolean;
    TYPE maths_string;
    TYPE maths_binary;
    TYPE maths_simple_atom;
    TYPE maths_atom;
    TYPE atom_based_tuple;
    TYPE atom_based_value;
    TYPE maths_tuple;
    TYPE maths_value;
    TYPE maths_expression;
    TYPE maths_function_select;
    TYPE input_selector;
    TYPE elementary_space_enumerators;
    TYPE ordering_type;
    TYPE lower_upper;
    TYPE symmetry_type;
    TYPE elementary_function_enumerators;
    TYPE open_closed;
    TYPE space_constraint_type;
    TYPE repackage_options;
    TYPE extension_options;
    TYPE maths_enum_atom;
    TYPE dotted_express_identifier;
    TYPE express_identifier;
    TYPE product_space;
    TYPE tuple_space;
    TYPE maths_space_or_function;
    TYPE real_interval;
    ENTITY quantifier_expression;
    ENTITY dependent_variable_definition;
    ENTITY bound_variable_semantics;
    ENTITY free_variable_semantics;
    ENTITY complex_number_literal;
    ENTITY logical_literal;
    ENTITY binary_literal;
    ENTITY maths_enum_literal;
    ENTITY real_tuple_literal;
    ENTITY integer_tuple_literal;
    ENTITY atom_based_literal;
    ENTITY maths_tuple_literal;
    ENTITY maths_variable;
    ENTITY maths_real_variable;
    ENTITY maths_integer_variable;
    ENTITY maths_boolean_variable;
    ENTITY maths_string_variable;
    ENTITY function_application;
    ENTITY maths_space;
    ENTITY elementary_space;
    ENTITY finite_integer_interval;
    ENTITY integer_interval_from_min;
    ENTITY integer_interval_to_max;
    ENTITY finite_real_interval;
    ENTITY real_interval_from_min;
    ENTITY real_interval_to_max;
    ENTITY cartesian_complex_number_region;
    ENTITY polar_complex_number_region;
    ENTITY finite_space;
    ENTITY un