<?xml version="1.0" encoding="utf-8"?>
<!-- 
  $Id: Aerospace_and_Defense_AD_prod_breakdown.xml,v 1.3 2011/05/23 13:07:40 leifgyllstrom Exp $
  ============================================================
  AD_prod_breakdown DEX long form 

  Copyright OASIS 2011
  ============================================================
-->
<express language_version="1" rcs.date="$Date: 2011/05/23 13:07:40 $" rcs.revision="$Revision: 1.3 $">

  
   <application name=" Eurostep EXPRESS Parser (Eep!)" owner="Eurostep Limited" url="www.eurostep.com" version="1, 3, 29, 37" source="C:\Uppdrag\PLCS\stepmod\dexlib\data\busconcept\Aerospace_and_Defense\schemas\Aerospace_and_Defense_AD_prod_breakdown.exp"/>

  
   <schema name="AD_prod_breakdown_dex">
    
      <type name="any_number_value">
      
         <builtintype type="NUMBER"/>
    
      </type>

    
      <type name="any_string_value">
      
         <builtintype type="STRING"/>
    
      </type>

    
      <type name="approval_item">
      
         <select selectitems="Activity Activity_method Alternate_part_relationship Applied_state_assignment Applied_state_definition_assignment Assembly_component_relationship Assembly_relationship_substitution Assigned_property Breakdown Breakdown_element Breakdown_element_definition Breakdown_element_usage Breakdown_element_version Breakdown_version Classification_assignment Condition Condition_assignment Date_or_date_time_assignment Directed_activity Document_assignment Document_version Effectivity Effectivity_assignment Identification_assignment In_zone Independent_property Justification Justification_assignment Message Organization_or_person_in_organization_assignment Organization_relationship Part Part_version Part_view_definition Product_category_assignment Product_concept Product_configuration Product_relationship Product_view_definition Project Project_assignment Security_classification Security_classification_assignment View_definition_context View_definition_relationship Work_order Work_request"/>
    
      </type>

    
      <type name="assigned_document_select">
      
         <select selectitems="Document Document_version"/>
    
      </type>

    
      <type name="classification_item">
      
         <select selectitems="Representation_relationship Activity Activity_method Alternate_part_relationship Applied_state_assignment Applied_state_definition_assignment Approval Approval_assignment Approval_status Approving_person_organization Assembly_relationship_substitution Assigned_property Breakdown Breakdown_context Breakdown_element Breakdown_element_usage Breakdown_element_version Breakdown_of Calendar_date Class Condition Condition_assignment Condition_parameter Condition_relationship Content_item Date_or_date_time_assignment Date_time Directed_activity Document Document_assignment Document_version Effectivity Effectivity_assignment External_class_library Identification_assignment In_zone Independent_property Independent_property_representation Item_design_association Item_usage_effectivity Justification Justification_assignment Local_time Market Message Organization Organization_or_person_in_organization_assignment Organization_relationship Part Part_version Part_view_definition Partial_document_assignment Product Product_category Product_concept Product_configuration Product_relationship Product_version Product_view_definition Project Project_assignment Property_representation Representation Representation_context Representation_item Security_classification Security_classification_assignment State State_assertion State_definition State_role Uncertainty_with_unit Unit Value_with_unit View_definition_context View_definition_relationship Work_order Work_request"/>
    
      </type>

    
      <type name="condition_item">
      
         <select selectitems="Activity_method Effectivity Activity Approval Approval_assignment Assigned_property Document_assignment State_definition View_definition_relationship"/>
    
      </type>

    
      <type name="condition_parameter_item">
      
         <select selectitems="Independent_property Work_request Organization Product_configuration Activity Activity_method Approval Approval_assignment Assigned_property Calendar_date Classification_assignment Condition_relationship Date_or_date_time_assignment Date_time Document_assignment Identification_assignment Independent_property_representation Organization_or_person_in_organization_assignment Product Product_category_assignment Product_concept Product_version Product_view_definition Property_representation Representation State State_definition View_definition_relationship"/>
    
      </type>

    
      <type name="date_or_date_time_item">
      
         <select selectitems="Approving_person_organization Activity Activity_method Alternate_part_relationship Applied_state_assignment Applied_state_definition_assignment Approval Assembly_component_relationship Assembly_relationship_substitution Assigned_property Breakdown Breakdown_element Breakdown_element_usage Breakdown_version Classification_assignment Condition Condition_assignment Date_or_date_time_assignment Directed_activity Document Document_assignment Document_version Effectivity Effectivity_assignment Identification_assignment Independent_property Independent_property_representation Justification Justification_assignment Message Organization_or_person_in_organization_assignment Organization_relationship Part Part_version Part_view_definition Product_category_assignment Product_concept Product_configuration Product_relationship Product_version Product_view_definition Project Project_assignment Property_representation Representation Security_classification Security_classification_assignment State State_assertion State_definition View_definition_context Work_order Work_request"/>
    
      </type>

    
      <type name="date_or_date_time_select">
      
         <select selectitems="Calendar_date Date_time"/>
    
      </type>

    
      <type name="date_or_event">
      
         <select selectitems="Calendar_date Date_time"/>
    
      </type>

    
      <type name="day_in_month_number">
      
         <builtintype type="INTEGER"/>
      
         <where label="WR1" expression="{1 &lt;= SELF &lt;= 31}">
      
         </where>
    
      </type>

    
      <type name="documented_element_select">
      
         <select selectitems="Item_usage_effectivity In_zone Document_assignment Class Condition_parameter Condition_assignment Justification Activity Activity_method Alternate_part_relationship Approval Approval_assignment Assembly_component_relationship Assembly_relationship_substitution Assigned_property Breakdown Breakdown_context Breakdown_element Breakdown_element_usage Breakdown_version Condition Document Document_version Effectivity Effectivity_assignment Identification_assignment Independent_property Independent_property_representation Market Message Organization Organization_or_person_in_organization_assignment Part Part_version Part_view_definition Product Product_concept Product_configuration Product_relationship Product_version Product_view_definition Project Property_representation Representation Representation_item Security_classification Security_classification_assignment State State_assertion State_definition View_definition_relationship Work_order Work_request"/>
    
      </type>

    
      <type name="effectivity_item">
      
         <select selectitems="Property_representation In_zone View_definition_usage Condition_assignment Independent_property_representation Classification_assignment Activity Activity_method Alternate_part_relationship Applied_state_definition_assignment Approval_assignment Assembly_component_relationship Assembly_relationship_substitution Assigned_property Breakdown Breakdown_element Breakdown_element_definition Breakdown_element_usage Breakdown_element_version Breakdown_of Breakdown_version Date_or_date_time_assignment Document Document_assignment Document_version Effectivity_assignment Identification_assignment Justification Justification_assignment Organization_or_person_in_organization_assignment Organization_relationship Part Part_version Part_view_definition Product Product_configuration Product_relationship Product_version Product_view_definition Project_assignment Security_classification_assignment Work_order"/>
    
      </type>

    
      <type name="hour_in_day">
      
         <builtintype type="INTEGER"/>
      
         <where label="WR1" expression="{0 &lt;= SELF &lt; 24}">
      
         </where>
    
      </type>

    
      <type name="identification_item">
      
         <select selectitems="Class Activity Activity_method Applied_state_assignment Applied_state_definition_assignment Approval Approval_status Assigned_property Breakdown Breakdown_element Breakdown_element_definition Breakdown_element_version Breakdown_version Condition Directed_activity Document Document_assignment Document_version Effectivity External_class_library Independent_property Justification Justification_assignment Market Message Organization Organization_or_person_in_organization_assignment Part Part_version Part_view_definition Product_concept Product_configuration Product_relationship Project Security_classification Security_classification_assignment State State_assertion State_definition View_definition_relationship Work_order Work_request"/>
    
      </type>

    
      <type name="in_zone_item">
      
         <select selectitems="Activity_method Product_view_definition"/>
    
      </type>

    
      <type name="justification_item">
      
         <select selectitems="Condition_assignment Applied_state_definition_assignment Property_value_representation Activity Activity_method Applied_state_assignment Approval Approval_assignment Assigned_property Classification_assignment Document_assignment Effectivity Independent_property Message Product Product_version Product_view_definition State_assertion View_definition_relationship"/>
    
      </type>

    
      <type name="length_measure">
      
         <builtintype type="REAL"/>
    
      </type>

    
      <type name="limit_qualifier_list">
      
         <enumeration items="minimum maximum"/>
    
      </type>

    
      <type name="measure_value">
      
         <select selectitems="any_number_value any_string_value length_measure plane_angle_measure"/>
    
      </type>

    
      <type name="message_definer_select">
      
         <select selectitems="Organization"/>
    
      </type>

    
      <type name="minute_in_hour">
      
         <builtintype type="INTEGER"/>
      
         <where label="WR1" expression="{0 &lt;= SELF &lt;= 59}">
      
         </where>
    
      </type>

    
      <type name="month_in_year_number">
      
         <builtintype type="INTEGER"/>
      
         <where label="WR1" expression="{1 &lt;= SELF &lt;= 12}">
      
         </where>
    
      </type>

    
      <type name="offset_orientation">
      
         <enumeration items="ahead exact behind"/>
    
      </type>

    
      <type name="organization_or_person_in_organization_item">
      
         <select selectitems="Activity Activity_method Alternate_part_relationship Applied_state_assignment Applied_state_definition_assignment Approval Assembly_component_relationship Assembly_relationship_substitution Assigned_property Breakdown Breakdown_element Breakdown_element_usage Breakdown_version Classification_assignment Condition Condition_assignment Date_or_date_time_assignment Directed_activity Document Document_assignment Document_version Effectivity Effectivity_assignment Identification_assignment Independent_property Independent_property_representation Justification Justification_assignment Message Organization_or_person_in_organization_assignment Part Part_version Part_view_definition Product_category Product_category_assignment Product_configuration Product_relationship Product_version Product_view_definition Project Project_assignment Property_representation Representation Security_classification Security_classification_assignment State State_assertion State_definition View_definition_context Work_order Work_request"/>
    
      </type>

    
      <type name="organization_or_person_in_organization_select">
      
         <select selectitems="Organization"/>
    
      </type>

    
      <type name="plane_angle_measure">
      
         <builtintype type="REAL"/>
    
      </type>

    
      <type name="project_item">
      
         <select selectitems="Activity Activity_method Breakdown Independent_property Product Product_concept Product_configuration Product_version"/>
    
      </type>

    
      <type name="property_assignment_select">
      
         <select selectitems="Work_request Applied_state_assignment Applied_state_definition_assignment Breakdown_element_usage Document_assignment Organization_or_person_in_organization_assignment Part_view_definition Product_view_definition Project State State_definition View_definition_relationship"/>
    
      </type>

    
      <type name="second_in_minute">
      
         <builtintype type="REAL"/>
      
         <where label="WR1" expression="{0 &lt;= SELF &lt;= 60.000000}">
      
         </where>
    
      </type>

    
      <type name="security_classification_item">
      
         <select selectitems="Activity Activity_method Alternate_part_relationship Assembly_component_relationship Assembly_relationship_substitution Breakdown Breakdown_element_definition Breakdown_element_usage Breakdown_element_version Document Document_assignment Document_version Message Part Part_version Part_view_definition Product_configuration Product_relationship"/>
    
      </type>

    
      <type name="state_definition_of_item">
      
         <select selectitems="Activity Activity_method Alternate_part_relationship Assembly_component_relationship Assembly_relationship_substitution Breakdown Breakdown_element Breakdown_element_definition Breakdown_element_usage Breakdown_element_version Breakdown_version Document Document_version Organization Part Part_version Part_view_definition Product Product_category Product_concept Product_configuration Product_version Project Security_classification View_definition_relationship Work_order Work_request"/>
    
      </type>

    
      <type name="state_of_item">
      
         <select selectitems="Approval Activity Activity_method Alternate_part_relationship Assembly_component_relationship Assembly_relationship_substitution Breakdown Breakdown_element Breakdown_element_definition Breakdown_element_usage Breakdown_element_version Breakdown_version Document Document_version Message Organization Part Part_version Part_view_definition Product Product_concept Product_configuration Product_version Project Security_classification View_definition_relationship Work_order Work_request"/>
    
      </type>

    
      <type name="version_or_definition">
      
         <select selectitems="Product_version Product_view_definition"/>
    
      </type>

    
      <type name="year_number">
      
         <builtintype type="INTEGER"/>
    
      </type>

    
      <type name="message_content_item">
      
         <select selectitems="Product Product_version Activity Activity_method Work_order Work_request External_class_library"/>
    
      </type>

    
      <entity name="Activity">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="chosen_method">
        
            <typename name="Activity_method"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Activity_method">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="consequence" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="purpose">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Alternate_part_relationship" supertypes="Alternate_product_relationship">
      
         <explicit name="alternate_product">
        
            <typename name="Part"/>
        
            <redeclaration entity-ref="Alternate_product_relationship"/>
      
         </explicit>
      
         <explicit name="base_product">
        
            <typename name="Part"/>
        
            <redeclaration entity-ref="Alternate_product_relationship"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Alternate_product_relationship">
      
         <explicit name="name" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="alternate_product">
        
            <typename name="Product"/>
      
         </explicit>
      
         <explicit name="base_product">
        
            <typename name="Product"/>
      
         </explicit>
      
         <explicit name="criteria">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <unique label="UR1">
        
            <unique.attribute attribute="alternate_product"/>
        
            <unique.attribute attribute="base_product"/>
      
         </unique>
      
         <where label="WR1" expression="alternate_product :&lt;&gt;: base_product">
      
         </where>
    
      </entity>

    
      <entity name="Applied_state_assignment">
      
         <explicit name="described_state">
        
            <typename name="State"/>
      
         </explicit>
      
         <explicit name="assigned_to">
        
            <typename name="state_of_item"/>
      
         </explicit>
      
         <explicit name="role">
        
            <typename name="State_role"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Applied_state_definition_assignment">
      
         <explicit name="described_state_definition">
        
            <typename name="State_definition"/>
      
         </explicit>
      
         <explicit name="assigned_to">
        
            <typename name="state_definition_of_item"/>
      
         </explicit>
      
         <explicit name="role">
        
            <typename name="State_definition_role"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Approval">
      
         <explicit name="status">
        
            <typename name="Approval_status"/>
      
         </explicit>
      
         <explicit name="purpose">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="planned_date" optional="YES">
        
            <typename name="date_or_date_time_select"/>
      
         </explicit>
      
         <explicit name="actual_date" optional="YES">
        
            <typename name="date_or_date_time_select"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Approval_assignment">
      
         <explicit name="assigned_approval">
        
            <typename name="Approval"/>
      
         </explicit>
      
         <explicit name="items">
        
            <aggregate type="SET" lower="1" upper="?"/>
        
            <typename name="approval_item"/>
      
         </explicit>
      
         <explicit name="role" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Approval_status">
      
         <explicit name="status_name">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Approving_person_organization">
      
         <explicit name="person_organization">
        
            <typename name="organization_or_person_in_organization_select"/>
      
         </explicit>
      
         <explicit name="approval_date" optional="YES">
        
            <typename name="date_or_date_time_select"/>
      
         </explicit>
      
         <explicit name="authorized_approval">
        
            <typename name="Approval"/>
      
         </explicit>
      
         <explicit name="role" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Assembly_component_relationship" abstract.supertype="YES" supertypes="View_definition_usage" super.expression="ONEOF(Promissory_usage)">
      
         <explicit name="quantity" optional="YES">
        
            <typename name="Value_with_unit"/>
      
         </explicit>
      
         <explicit name="location_indicator" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <where label="WR1" expression="NOT (EXISTS(quantity)) OR ((NOT ('NUMBER' IN TYPEOF(quantity.value_component))) XOR (quantity.value_component &gt; 0))">
      
         </where>
    
      </entity>

    
      <entity name="Assembly_relationship_substitution">
      
         <explicit name="name" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="base_relationship">
        
            <typename name="Assembly_component_relationship"/>
      
         </explicit>
      
         <explicit name="substitute_relationship">
        
            <typename name="Assembly_component_relationship"/>
      
         </explicit>
      
         <unique label="UR1">
        
            <unique.attribute attribute="base_relationship"/>
        
            <unique.attribute attribute="substitute_relationship"/>
      
         </unique>
      
         <where label="WR1" expression="base_relationship.relating_view :=: substitute_relationship.relating_view">
      
         </where>
      
         <where label="WR2" expression="base_relationship :&lt;&gt;: substitute_relationship">
      
         </where>
    
      </entity>

    
      <entity name="Assigned_property">
      
         <explicit name="id" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="described_element">
        
            <typename name="property_assignment_select"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Breakdown" supertypes="Product" super.expression="ONEOF(Zone_breakdown)">
    
      </entity>

    
      <entity name="Breakdown_context" super.expression="ONEOF(Zone_breakdown_context)">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="breakdown">
        
            <typename name="Breakdown_version"/>
      
         </explicit>
      
         <explicit name="breakdown_element">
        
            <typename name="Breakdown_element_definition"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Breakdown_element" supertypes="Product" super.expression="ONEOF(Zone_element)">
    
      </entity>

    
      <entity name="Breakdown_element_definition" supertypes="Product_view_definition" super.expression="ONEOF(Zone_element_definition)">
      
         <explicit name="defined_version">
        
            <typename name="Breakdown_element_version"/>
        
            <redeclaration entity-ref="Product_view_definition"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Breakdown_element_usage" supertypes="View_definition_usage" super.expression="ONEOF(Zone_element_usage)">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="relating_view">
        
            <typename name="Breakdown_element_definition"/>
        
            <redeclaration entity-ref="View_definition_relationship"/>
      
         </explicit>
      
         <explicit name="related_view">
        
            <typename name="Breakdown_element_definition"/>
        
            <redeclaration entity-ref="View_definition_relationship"/>
      
         </explicit>
      
         <derived name="parent_element" expression="SELF\View_definition_relationship.relating_view">
        
            <typename name="Breakdown_element_definition"/>
      
         </derived>
      
         <derived name="child_element" expression="SELF\View_definition_relationship.related_view">
        
            <typename name="Breakdown_element_definition"/>
      
         </derived>
    
      </entity>

    
      <entity name="Breakdown_element_version" supertypes="Product_version" super.expression="ONEOF(Zone_element_version)">
      
         <explicit name="of_product">
        
            <typename name="Breakdown_element"/>
        
            <redeclaration entity-ref="Product_version"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Breakdown_of">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="breakdown">
        
            <typename name="Breakdown_version"/>
      
         </explicit>
      
         <explicit name="of_view">
        
            <typename name="Product_view_definition"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Breakdown_version" supertypes="Product_version" super.expression="ONEOF(Zone_breakdown_version)">
      
         <explicit name="of_product">
        
            <typename name="Breakdown"/>
        
            <redeclaration entity-ref="Product_version"/>
      
         </explicit>
      
         <inverse name="breakdown_of" entity="Breakdown_of" attribute="breakdown">
        
            <inverse.aggregate type="SET" lower="1" upper="?"/>
      
         </inverse>
    
      </entity>

    
      <entity name="Calendar_date">
      
         <explicit name="year_component">
        
            <typename name="year_number"/>
      
         </explicit>
      
         <explicit name="month_component">
        
            <typename name="month_in_year_number"/>
      
         </explicit>
      
         <explicit name="day_component">
        
            <typename name="day_in_month_number"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Class">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Classification_assignment">
      
         <explicit name="assigned_class">
        
            <typename name="Class"/>
      
         </explicit>
      
         <explicit name="items">
        
            <aggregate type="SET" lower="1" upper="?"/>
        
            <typename name="classification_item"/>
      
         </explicit>
      
         <explicit name="role" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Condition">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Condition_assignment">
      
         <explicit name="assigned_condition">
        
            <typename name="Condition"/>
      
         </explicit>
      
         <explicit name="item">
        
            <typename name="condition_item"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Condition_parameter">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="condition">
        
            <typename name="Condition"/>
      
         </explicit>
      
         <explicit name="parameter" optional="YES">
        
            <typename name="condition_parameter_item"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Condition_relationship">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="relating_condition">
        
            <typename name="Condition"/>
      
         </explicit>
      
         <explicit name="related_condition">
        
            <typename name="Condition"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Content_item">
      
         <explicit name="item_identifier">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="item_type">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="access_comment" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Content_item_selected" supertypes="Content_item">
      
         <explicit name="contents">
        
            <typename name="message_content_item"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Date_or_date_time_assignment">
      
         <explicit name="assigned_date">
        
            <typename name="date_or_date_time_select"/>
      
         </explicit>
      
         <explicit name="role">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="items">
        
            <aggregate type="SET" lower="1" upper="?"/>
        
            <typename name="date_or_date_time_item"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Date_time">
      
         <explicit name="date_component">
        
            <typename name="Calendar_date"/>
      
         </explicit>
      
         <explicit name="time_component">
        
            <typename name="Local_time"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Dated_effectivity" supertypes="Effectivity">
      
         <explicit name="start_bound">
        
            <typename name="date_or_event"/>
      
         </explicit>
      
         <explicit name="end_bound" optional="YES">
        
            <typename name="date_or_event"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Directed_activity" supertypes="Activity">
      
         <explicit name="directive">
        
            <typename name="Work_order"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Document" supertypes="Product">
    
      </entity>

    
      <entity name="Document_assignment">
      
         <explicit name="assigned_document">
        
            <typename name="assigned_document_select"/>
      
         </explicit>
      
         <explicit name="is_assigned_to">
        
            <typename name="documented_element_select"/>
      
         </explicit>
      
         <explicit name="role">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Document_version" supertypes="Product_version">
      
         <explicit name="of_product">
        
            <typename name="Document"/>
        
            <redeclaration entity-ref="Product_version"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Effectivity" super.expression="ONEOF(Serial_effectivity, Dated_effectivity)">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Effectivity_assignment">
      
         <explicit name="assigned_effectivity">
        
            <typename name="Effectivity"/>
      
         </explicit>
      
         <explicit name="role">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="items">
        
            <aggregate type="SET" lower="1" upper="?"/>
        
            <typename name="effectivity_item"/>
      
         </explicit>
    
      </entity>

    
      <entity name="External_class" supertypes="Class">
      
         <explicit name="external_source">
        
            <typename name="External_class_library"/>
      
         </explicit>
    
      </entity>

    
      <entity name="External_class_library">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Identification_assignment">
      
         <explicit name="identifier">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="role">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="items">
        
            <aggregate type="SET" lower="1" upper="?"/>
        
            <typename name="identification_item"/>
      
         </explicit>
    
      </entity>

    
      <entity name="In_zone">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="located_item">
        
            <typename name="in_zone_item"/>
      
         </explicit>
      
         <explicit name="zone">
        
            <typename name="Zone_element_definition"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Independent_property">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="property_type">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Independent_property_representation">
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="property">
        
            <typename name="Independent_property"/>
      
         </explicit>
      
         <explicit name="rep">
        
            <typename name="Representation"/>
      
         </explicit>
      
         <explicit name="role" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Item_design_association">
      
         <explicit name="configuration">
        
            <typename name="Product_configuration"/>
      
         </explicit>
      
         <explicit name="design">
        
            <typename name="version_or_definition"/>
      
         </explicit>
      
         <unique label="UR1">
        
            <unique.attribute attribute="configuration"/>
        
            <unique.attribute attribute="design"/>
      
         </unique>
    
      </entity>

    
      <entity name="Item_usage_effectivity">
      
         <explicit name="effectivity_domain">
        
            <typename name="Effectivity"/>
      
         </explicit>
      
         <explicit name="item_usage_relationship">
        
            <typename name="View_definition_usage"/>
      
         </explicit>
      
         <explicit name="resolved_configuration">
        
            <typename name="Item_design_association"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Justification">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="context_description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Justification_assignment">
      
         <explicit name="justification">
        
            <typename name="Justification"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="item">
        
            <typename name="justification_item"/>
      
         </explicit>
      
         <explicit name="role">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Local_time">
      
         <explicit name="hour_component">
        
            <typename name="hour_in_day"/>
      
         </explicit>
      
         <explicit name="minute_component" optional="YES">
        
            <typename name="minute_in_hour"/>
      
         </explicit>
      
         <explicit name="second_component" optional="YES">
        
            <typename name="second_in_minute"/>
      
         </explicit>
      
         <explicit name="zone">
        
            <typename name="Time_offset"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Market">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="market_segment_type" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Measure_item" abstract.supertype="YES" supertypes="Representation_item" super.expression="ONEOF(Numerical_item_with_unit, Value_limit, Value_range, Value_with_tolerances)">
      
         <where label="WR1" expression="SIZEOF(USEDIN(SELF, 'AD_PROD_BREAKDOWN_DEX.REPRESENTATION.ITEMS')) &gt; 0">
      
         </where>
    
      </entity>

    
      <entity name="Message">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="message_type">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="contains">
        
            <aggregate type="SET"/>
        
            <typename name="Content_item"/>
      
         </explicit>
      
         <explicit name="defined_by" optional="YES">
        
            <aggregate type="SET"/>
        
            <typename name="message_definer_select"/>
      
         </explicit>
      
         <explicit name="purpose" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Numerical_item_with_unit" supertypes="Measure_item Value_with_unit">
    
      </entity>

    
      <entity name="Numerical_representation_context" supertypes="Representation_context">
      
         <explicit name="units" optional="YES">
        
            <aggregate type="SET" lower="1" upper="?"/>
        
            <typename name="Unit"/>
      
         </explicit>
      
         <explicit name="accuracies" optional="YES">
        
            <aggregate type="SET" lower="1" upper="?"/>
        
            <typename name="Uncertainty_with_unit"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Organization">
      
         <explicit name="id" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Organization_or_person_in_organization_assignment">
      
         <explicit name="assigned_entity">
        
            <typename name="organization_or_person_in_organization_select"/>
      
         </explicit>
      
         <explicit name="role">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="items">
        
            <aggregate type="SET" lower="1" upper="?"/>
        
            <typename name="organization_or_person_in_organization_item"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Organization_relationship">
      
         <explicit name="relation_type">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="relating_organization">
        
            <typename name="Organization"/>
      
         </explicit>
      
         <explicit name="related_organization">
        
            <typename name="Organization"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Part" supertypes="Product">
      
         <where label="WR1" expression="SIZEOF(['part', 'raw material', 'tool'] * types_of_product(SELF)) = 1">
      
         </where>
    
      </entity>

    
      <entity name="Part_version" supertypes="Product_version">
      
         <explicit name="of_product">
        
            <typename name="Part"/>
        
            <redeclaration entity-ref="Product_version"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Part_view_definition" supertypes="Product_view_definition">
      
         <explicit name="defined_version">
        
            <typename name="Part_version"/>
        
            <redeclaration entity-ref="Product_view_definition"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Partial_document_assignment" supertypes="Document_assignment">
      
         <explicit name="document_portion">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Product" abstract.supertype="YES" super.expression="ONEOF(Breakdown, Breakdown_element, Document, Part)">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Product_category">
      
         <explicit name="id" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Product_category_assignment">
      
         <explicit name="category">
        
            <typename name="Product_category"/>
      
         </explicit>
      
         <explicit name="products">
        
            <aggregate type="SET" lower="1" upper="?"/>
        
            <typename name="Product"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Product_concept">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="target_market" optional="YES">
        
            <typename name="Market"/>
      
         </explicit>
      
         <unique label="UR1">
        
            <unique.attribute attribute="id"/>
      
         </unique>
    
      </entity>

    
      <entity name="Product_configuration">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="item_context">
        
            <typename name="Product_concept"/>
      
         </explicit>
      
         <inverse name="corresponding_design" entity="Item_design_association" attribute="configuration">
        
            <inverse.aggregate type="SET" lower="0" upper="1"/>
      
         </inverse>
    
      </entity>

    
      <entity name="Product_relationship">
      
         <explicit name="relation_type">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="relating_product">
        
            <typename name="Product"/>
      
         </explicit>
      
         <explicit name="related_product">
        
            <typename name="Product"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Product_version" abstract.supertype="YES" super.expression="ONEOF(Breakdown_element_version, Breakdown_version, Document_version, Part_version)">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="of_product">
        
            <typename name="Product"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Product_view_definition" super.expression="ONEOF(Breakdown_element_definition, Part_view_definition)">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="additional_characterization" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="initial_context">
        
            <typename name="View_definition_context"/>
      
         </explicit>
      
         <explicit name="additional_contexts">
        
            <aggregate type="SET"/>
        
            <typename name="View_definition_context"/>
      
         </explicit>
      
         <explicit name="defined_version">
        
            <typename name="Product_version"/>
      
         </explicit>
      
         <where label="WR1" expression="NOT (initial_context IN additional_contexts)">
      
         </where>
    
      </entity>

    
      <entity name="Project">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="responsible_organizations">
        
            <aggregate type="SET"/>
        
            <typename name="Organization"/>
      
         </explicit>
      
         <explicit name="planned_start_date" optional="YES">
        
            <typename name="date_or_event"/>
      
         </explicit>
      
         <explicit name="planned_end_date" optional="YES">
        
            <typename name="date_or_event"/>
      
         </explicit>
      
         <explicit name="actual_start_date" optional="YES">
        
            <typename name="date_or_date_time_select"/>
      
         </explicit>
      
         <explicit name="actual_end_date" optional="YES">
        
            <typename name="date_or_date_time_select"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Project_assignment">
      
         <explicit name="assigned_project">
        
            <typename name="Project"/>
      
         </explicit>
      
         <explicit name="role">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="items">
        
            <aggregate type="SET"/>
        
            <typename name="project_item"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Promissory_usage" supertypes="Assembly_component_relationship">
    
      </entity>

    
      <entity name="Property_representation">
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="property">
        
            <typename name="Assigned_property"/>
      
         </explicit>
      
         <explicit name="rep">
        
            <typename name="Representation"/>
      
         </explicit>
      
         <explicit name="role" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Property_value_representation" supertypes="Representation">
      
         <explicit name="context_of_items">
        
            <typename name="Numerical_representation_context"/>
        
            <redeclaration entity-ref="Representation"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Representation">
      
         <explicit name="id" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="context_of_items">
        
            <typename name="Representation_context"/>
      
         </explicit>
      
         <explicit name="items">
        
            <aggregate type="SET" lower="1" upper="?"/>
        
            <typename name="Representation_item"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Representation_context">
      
         <explicit name="id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="kind">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <inverse name="representations_in_context" entity="Representation" attribute="context_of_items">
        
            <inverse.aggregate type="SET" lower="1" upper="?"/>
      
         </inverse>
    
      </entity>

    
      <entity name="Representation_item">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Representation_relationship">
      
         <explicit name="relation_type">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="rep_1">
        
            <typename name="Representation"/>
      
         </explicit>
      
         <explicit name="rep_2">
        
            <typename name="Representation"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Security_classification">
      
         <explicit name="classification_level">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Security_classification_assignment">
      
         <explicit name="classification">
        
            <typename name="Security_classification"/>
      
         </explicit>
      
         <explicit name="items">
        
            <aggregate type="SET" lower="1" upper="?"/>
        
            <typename name="security_classification_item"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Serial_effectivity" supertypes="Effectivity">
      
         <explicit name="start_id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="end_id" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="State" super.expression="ONEOF(State_observed)">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="State_assertion">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="asserted_state">
        
            <typename name="State"/>
      
         </explicit>
      
         <explicit name="conformance_state">
        
            <typename name="State_definition"/>
      
         </explicit>
    
      </entity>

    
      <entity name="State_definition">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="State_definition_role">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="State_observed" supertypes="State">
    
      </entity>

    
      <entity name="State_role">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="String_representation_item" supertypes="Representation_item">
      
         <explicit name="string_value">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Time_offset">
      
         <explicit name="hour_offset">
        
            <builtintype type="INTEGER"/>
      
         </explicit>
      
         <explicit name="minute_offset" optional="YES">
        
            <builtintype type="INTEGER"/>
      
         </explicit>
      
         <explicit name="sense">
        
            <typename name="offset_orientation"/>
      
         </explicit>
      
         <derived name="actual_minute_offset" expression="NVL(minute_offset, 0)">
        
            <builtintype type="INTEGER"/>
      
         </derived>
      
         <where label="WR1" expression="{0 &lt;= hour_offset &lt; 24}">
      
         </where>
      
         <where label="WR2" expression="{0 &lt;= actual_minute_offset &lt;= 59}">
      
         </where>
      
         <where label="WR3" expression="NOT (((hour_offset &lt;&gt; 0) OR (actual_minute_offset &lt;&gt; 0)) AND (sense = exact))">
      
         </where>
    
      </entity>

    
      <entity name="Uncertainty_with_unit" supertypes="Value_with_unit">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Unit">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="si_unit">
        
            <builtintype type="BOOLEAN"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Value_limit" supertypes="Measure_item">
      
         <explicit name="limit_qualifier">
        
            <typename name="limit_qualifier_list"/>
      
         </explicit>
      
         <explicit name="limit">
        
            <typename name="Value_with_unit"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Value_range" supertypes="Measure_item">
      
         <explicit name="lower_limit">
        
            <typename name="Numerical_item_with_unit"/>
      
         </explicit>
      
         <explicit name="upper_limit">
        
            <typename name="Numerical_item_with_unit"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Value_with_tolerances" supertypes="Measure_item">
      
         <explicit name="item_value">
        
            <typename name="Numerical_item_with_unit"/>
      
         </explicit>
      
         <explicit name="lower_limit">
        
            <builtintype type="REAL"/>
      
         </explicit>
      
         <explicit name="upper_limit">
        
            <builtintype type="REAL"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Value_with_unit">
      
         <explicit name="unit">
        
            <typename name="Unit"/>
      
         </explicit>
      
         <explicit name="value_component">
        
            <typename name="measure_value"/>
      
         </explicit>
    
      </entity>

    
      <entity name="View_definition_context">
      
         <explicit name="application_domain">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="life_cycle_stage">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="View_definition_relationship" abstract.supertype="YES" super.expression="ONEOF(View_definition_usage)">
      
         <explicit name="id" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="relation_type" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="relating_view">
        
            <typename name="Product_view_definition"/>
      
         </explicit>
      
         <explicit name="related_view">
        
            <typename name="Product_view_definition"/>
      
         </explicit>
    
      </entity>

    
      <entity name="View_definition_usage" supertypes="View_definition_relationship">
    
      </entity>

    
      <entity name="Work_order">
      
         <explicit name="name">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="in_response_to">
        
            <aggregate type="SET"/>
        
            <typename name="Work_request"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Work_request">
      
         <explicit name="request_id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="version_id">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="description" optional="YES">
        
            <builtintype type="STRING"/>
      
         </explicit>
      
         <explicit name="purpose">
        
            <builtintype type="STRING"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Zone_breakdown" supertypes="Breakdown">
    
      </entity>

    
      <entity name="Zone_breakdown_context" supertypes="Breakdown_context">
      
         <explicit name="breakdown">
        
            <typename name="Zone_breakdown_version"/>
        
            <redeclaration entity-ref="Breakdown_context"/>
      
         </explicit>
      
         <explicit name="breakdown_element">
        
            <typename name="Zone_element_definition"/>
        
            <redeclaration entity-ref="Breakdown_context"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Zone_breakdown_version" supertypes="Breakdown_version">
      
         <explicit name="of_product">
        
            <typename name="Zone_breakdown"/>
        
            <redeclaration entity-ref="Breakdown_version"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Zone_element" supertypes="Breakdown_element">
    
      </entity>

    
      <entity name="Zone_element_definition" supertypes="Breakdown_element_definition">
      
         <explicit name="defined_version">
        
            <typename name="Zone_element_version"/>
        
            <redeclaration entity-ref="Breakdown_element_definition"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Zone_element_usage" supertypes="Breakdown_element_usage">
      
         <explicit name="relating_view">
        
            <typename name="Zone_element_definition"/>
        
            <redeclaration entity-ref="View_definition_relationship"/>
      
         </explicit>
      
         <explicit name="related_view">
        
            <typename name="Zone_element_definition"/>
        
            <redeclaration entity-ref="View_definition_relationship"/>
      
         </explicit>
    
      </entity>

    
      <entity name="Zone_element_version" supertypes="Breakdown_element_version">
      
         <explicit name="of_product">
        
            <typename name="Zone_element"/>
        
            <redeclaration entity-ref="Breakdown_element_version"/>
      
         </explicit>
    
      </entity>

    
      <function name="types_of_product">
      
         <parameter name="obj">
        
            <typename name="Product"/>
      
         </parameter>
      
         <aggregate type="SET"/>
      
         <builtintype type="STRING"/>
      
         <algorithm>
  LOCAL
    category_assignments : BAG OF Product_category_assignment;
    categories : SET OF STRING := [];
    i : INTEGER;
  END_LOCAL;

  category_assignments := USEDIN(obj, 'AD_PROD_BREAKDOWN_DEX.PRODUCT_CATEGORY_ASSIGNMENT.PRODUCTS');
  REPEAT i := LOINDEX(category_assignments) TO HIINDEX(category_assignments);
    categories := categories + category_assignments[i].category.name;
  END_REPEAT;
  RETURN (categories);
      </algorithm>
    
      </function>

  
   </schema>


</express>