(*
   $Id$
   ISO TC184/SC4/WG3 N2415 - ISO/CD-TS 10303-1348 Requirement management - EXPRESS ARM
*) 

SCHEMA Requirement_management_arm;

USE FROM Classification_assignment_arm;

USE FROM Document_assignment_arm;

USE FROM Document_properties_arm;

USE FROM Effectivity_application_arm;

USE FROM Information_rights_arm;

USE FROM Product_view_definition_properties_arm;

USE FROM Requirement_assignment_arm;

USE FROM Requirement_view_definition_relationship_arm;

TYPE requirement_alias_idenfication_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON alias_identification_item WITH
  (Requirement_assignment,
   Requirement_collection_relationship,
   Requirement_source,
   Requirement_version_relationship,
   Tracing_relationship);
END_TYPE;

TYPE requirement_certification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON certification_item WITH
  (Product,
   Product_version);
END_TYPE;

TYPE requirement_classification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON classification_item WITH
  (Address,
   Address_assignment,
   Applied_information_usage_right,
   Approval,
   Approval_assignment,
   Approval_relationship,
   Approval_status,
   Approving_person_organization,
   Assigned_property,
   Attribute_translation_assignment,
   Calendar_date,
   Certification,
   Certification_assignment,
   Class,
   Context_dependent_unit,
   Contract,
   Contract_assignment,
   Date_or_date_time_assignment,
   Date_time,
   Digital_document_definition,
   Digital_file,
   Document,
   Document_assignment,
   Document_location_identification,
   Document_version,
   Effectivity,
   Effectivity_assignment,
   Effectivity_relationship,
   Event,
   Event_assignment,
   Event_relationship,
   External_item_identification,
   External_source_identification,
   File_location_identification,
   Hardcopy,
   Identification_assignment,
   Independent_property,
   Independent_property_relationship,
   Information_right,
   Information_usage_right,
   Information_usage_right_relationship,
   Language,
   Language_indication,
   Local_time,
   Organization,
   Organization_or_person_in_organization_assignment,
   Organization_relationship,
   Partial_document_assignment,
   Person,
   Person_in_organization,
   Physical_document_definition,
   Product,
   Product_category,
   Product_version,
   Product_version_relationship,
   Product_view_definition,
   Project,
   Project_assignment,
   Project_relationship,
   Property_representation,
   Representation,
   Representation_context,
   Representation_item,
   Requirement,
   Requirement_assignment,
   Requirement_collection_relationship,
   Requirement_source,
   Requirement_version,
   Requirement_version_relationship,
   Requirement_view_definition,
   Security_classification,
   Security_classification_assignment,
   Supplied_part_relationship,
   Time_interval_relationship,
   Tracing_relationship,
   Uncertainty_with_unit,
   Unit,
   Value_with_unit,
   View_definition_context,
   View_definition_relationship);
END_TYPE;

TYPE requirement_contract_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON contract_item WITH
  (Document,
   Document_version,
   Project,
   Requirement,
   Requirement_assignment,
   Requirement_collection_relationship,
   Requirement_source,
   Requirement_version,
   Requirement_version_relationship,
   Requirement_view_definition,
   Security_classification,
   Tracing_relationship);
END_TYPE;

TYPE requirement_documented_element_select = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON documented_element_select WITH
  (Approval,
   Approval_assignment,
   Assigned_property,
   Certification,
   Certification_assignment,
   Contract,
   Contract_assignment,
   Document,
   Document_definition,
   Document_version,
   Effectivity,
   Effectivity_assignment,
   Identification_assignment,
   Independent_property,
   Independent_property_relationship,
   Information_right,
   Information_usage_right,
   Organization,
   Organization_or_person_in_organization_assignment,
   Person,
   Product,
   Product_version,
   Product_version_relationship,
   Product_view_definition,
   Project,
   Property_representation,
   Representation,
   Representation_item,
   Requirement,
   Requirement_assignment,
   Requirement_source,
   Requirement_version,
   Security_classification,
   Security_classification_assignment,
   View_definition_relationship);
END_TYPE;

TYPE requirement_effectivity_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON effectivity_item WITH
  (Address_assignment,
   Applied_information_usage_right,
   Approval_assignment,
   Assigned_property,
   Attribute_translation_assignment,
   Certification_assignment,
   Contract_assignment,
   Date_or_date_time_assignment,
   Document,
   Document_assignment,
   Document_definition,
   Document_location_identification,
   Document_version,
   Effectivity_assignment,
   File,
   Identification_assignment,
   Organization_or_person_in_organization_assignment,
   Organization_relationship,
   Person_in_organization,
   Product,
   Product_version,
   Product_version_relationship,
   Product_view_definition,
   Project_assignment,
   Requirement,
   Requirement_assignment,
   Requirement_collection_relationship,
   Requirement_source,
   Requirement_version,
   Requirement_version_relationship,
   Requirement_view_definition,
   Security_classification_assignment);
END_TYPE;

TYPE requirement_event_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON event_item WITH
  (Certification,
   Project);
END_TYPE;

TYPE requirement_information_usage_right_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON information_usage_right_item WITH
  (Applied_information_usage_right,
   Certification,
   Certification_assignment,
   Digital_document_definition,
   Digital_file,
   Document,
   Document_version,
   Hardcopy,
   Physical_document_definition,
   Requirement,
   Requirement_assignment,
   Requirement_version,
   Requirement_view_definition,
   Security_classification,
   Security_classification_assignment);
END_TYPE;

TYPE requirement_mri_approval_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON mri_approval_item WITH
  (Address_assignment,
   Assigned_property,
   Certification_assignment,
   Classification_assignment,
   Contract_assignment,
   Date_or_date_time_assignment,
   Digital_document_definition,
   Document_assignment,
   Effectivity_assignment,
   Event_assignment,
   Identification_assignment,
   Organization_or_person_in_organization_assignment,
   Organization_relationship,
   Person_in_organization,
   Product_category_assignment,
   Product_version_relationship,
   Product_view_definition,
   Project,
   Project_assignment,
   Requirement_assignment,
   Requirement_collection_relationship,
   Requirement_source,
   Security_classification,
   Security_classification_assignment,
   Tracing_relationship,
   View_definition_relationship);
END_TYPE;

TYPE requirement_mri_date_or_date_time_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON mri_date_or_date_time_item WITH
  (Address_assignment,
   Alias_identification,
   Applied_information_usage_right,
   Approval,
   Assigned_property,
   Certification_assignment,
   Classification_assignment,
   Contract_assignment,
   Date_or_date_time_assignment,
   Digital_document_definition,
   Digital_file,
   Document,
   Document_assignment,
   Document_version,
   Effectivity,
   Effectivity_assignment,
   Event_assignment,
   Hardcopy,
   Identification_assignment,
   Independent_property,
   Independent_property_relationship,
   Organization_relationship,
   Person,
   Person_in_organization,
   Physical_document_definition,
   Product_category_assignment,
   Product_version,
   Product_version_relationship,
   Product_view_definition,
   Project,
   Project_assignment,
   Property_representation,
   Representation,
   Requirement,
   Requirement_assignment,
   Requirement_collection_relationship,
   Requirement_source,
   Requirement_version,
   Requirement_version_relationship,
   Requirement_view_definition,
   Security_classification,
   Tracing_relationship,
   View_definition_context);
END_TYPE;

TYPE requirement_mri_identification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON mri_identification_item WITH
  (Address,
   Approval,
   Assigned_property,
   Certification,
   Digital_document_definition,
   Digital_file,
   Document,
   Document_assignment,
   Document_version,
   Effectivity,
   Event,
   Hardcopy,
   Independent_property,
   Independent_property_relationship,
   Information_right,
   Information_usage_right,
   Organization_or_person_in_organization_assignment,
   Person,
   Person_in_organization,
   Physical_document_definition,
   Project,
   Requirement,
   Requirement_assignment,
   Requirement_collection_relationship,
   Requirement_source,
   Requirement_version,
   Requirement_version_relationship,
   Requirement_view_definition,
   Security_classification_assignment,
   Tracing_relationship,
   View_definition_relationship);
END_TYPE;

TYPE requirement_mri_organization_or_person_in_organization_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON mri_organization_or_person_in_organization_item WITH
  (Address_assignment,
   Alias_identification,
   Approval,
   Assigned_property,
   Certification,
   Certification_assignment,
   Classification_assignment,
   Contract_assignment,
   Date_or_date_time_assignment,
   Digital_document_definition,
   Digital_file,
   Document,
   Document_assignment,
   Document_definition,
   Document_version,
   Effectivity,
   Effectivity_assignment,
   Event,
   Event_assignment,
   Hardcopy,
   Independent_property,
   Independent_property_relationship,
   Organization_or_person_in_organization_assignment,
   Person_in_organization,
   Physical_document_definition,
   Product_category,
   Product_category_assignment,
   Product_version,
   Product_view_definition,
   Project,
   Project_assignment,
   Property_representation,
   Representation,
   Requirement,
   Requirement_assignment,
   Requirement_collection_relationship,
   Requirement_source,
   Requirement_version,
   Requirement_version_relationship,
   Requirement_view_definition,
   Security_classification,
   Security_classification_assignment,
   Tracing_relationship,
   View_definition_context);
END_TYPE;

TYPE requirement_mri_string_select = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON mri_string_select WITH
  (Assigned_property,
   Digital_document_definition,
   Document,
   Document_assignment,
   Document_version,
   Event,
   External_item_identification,
   External_source_identification,
   Independent_property,
   Independent_property_relationship,
   Information_right,
   Information_usage_right,
   Physical_document_definition,
   Product_category,
   Representation_item,
   Requirement,
   Requirement_assignment,
   Requirement_collection_relationship,
   Requirement_source,
   Requirement_version,
   Requirement_version_relationship,
   Requirement_view_definition,
   Tracing_relationship);
END_TYPE;

TYPE requirement_project_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON project_item WITH
  (Product,
   Product_version);
END_TYPE;

TYPE requirement_security_classification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON security_classification_item WITH
  (Digital_document_definition,
   Digital_file,
   Document,
   Document_assignment,
   Document_version,
   Hardcopy,
   Physical_document_definition,
   Requirement,
   Requirement_assignment,
   Requirement_collection_relationship,
   Requirement_source,
   Requirement_version,
   Requirement_version_relationship,
   Requirement_view_definition,
   Tracing_relationship);
END_TYPE;

TYPE rm_requirement_assignment_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON requirement_assignment_item WITH
  (Product,
   Product_version,
   Product_view_definition);
END_TYPE;

TYPE rm_requirement_source_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON requirement_source_item WITH
  (Product,
   Product_version,
   Product_view_definition);
END_TYPE;

END_SCHEMA;

