Template:— product_design (prd_des)
Context:— UK_Defence
Date: 2009/10/28 17:11:54
Revision: 1.4
Template: product_design

XML references to the Template

These can be cut and pasted into the XML as required.

product_design

Set up a hyperlink to the template definition.
<template_ref name="product_design" context="UK_Defence" />

Set up a table of the template parameters.
<template_table figure_id="?" instance="?" name="product_design" context="UK_Defence" >
  <param name="id">
    <param_value></param_value>
    <description></description>
  </param>
  <param name="name">
    <param_value></param_value>
    <description></description>
  </param>
  <param name="version">
    <param_value></param_value>
    <description></description>
  </param>
  <param name="design_authority">
    <param_value></param_value>
    <description></description>
  </param>
  <param name="type">
    <param_value>Design_definition</param_value>
    <description></description>
  </param>
  <param name="conforms_with">
    <param_value></param_value>
    <description></description>
  </param>
  <param name="classified_as">
    <param_value></param_value>
    <description></description>
  </param>
</template_table>

Setup a template_example:
<template_example name="product_design">
  <param_in name="id" value=""/>
  <param_in name="name" value=""/>
  <param_in name="version" value=""/>
  <param_in name="design_authority" value=""/>
  <param_in name="type" value="Design_definition"/>
  <param_in name="conforms_with" value=""/>
  <param_in name="classified_as" value=""/>
</template_example>

product_design
/product_design(id='', name='', version='', design_authority='', type='Design_definition', conforms_with='', classified_as='')/

Path

/item_of_design(
    part_number=@id,
    des_auth_ncage_code=@design_authority,
    item_version=@version,
    iod_view=@type)/

-- re-direct the output from the call..
%^product_design = $item_of_design.item_of_design%
%^product_design_version = $item_of_design.item_of_design_version%
%^product_design_view = $item_of_design.item_of_design_view%
%^product_design_contxt = $item_of_design.item_of_design_contxt%

-- Id type is already done within the Item of Design template so not required here
-- /assigning_reference_data(items=^product_design, class_name=@type , ecl_id='urn:plcs:rdl:uk_defence')/
-- provide the name Identifier
/identifier(
    items=^product_design,
    ID=@name,
    type='Item_name',
    source_organization=@design_authority)/

-- create the optional relationship to the Product_specification (a type of Part_version)
Product_version_relationship
Product_version_relationship.relating_version -> ^product_design
Product_version_relationship.related_version -> @conforms_with

-- create the optional relationship to the Nato Item of Supply Specification (a type of Resource_item)
Resource_item_assignment.item -> ^product_design
Resource_item_assignment.assigned_resource -> @classified_as

XML representation of path

<refpath
   template="product_design">
   <call_template
      name="item_of_design"
      business_context="UK_Defence">
      <param_in
         name="part_number"
         value="@id">
         
      </param_in>
      <param_in
         name="des_auth_ncage_code"
         value="@design_authority">
         
      </param_in>
      <param_in
         name="item_version"
         value="@version">
         
      </param_in>
      <param_in
         name="iod_view"
         value="@type">
         
      </param_in>
   </call_template>
   <comment>
      re-direct the output from the call..
   </comment>
   <bind
      parameter="product_design">
      <template_instance
         template="item_of_design"
         parameter="item_of_design">
         
      </template_instance>
   </bind>
   <bind
      parameter="product_design_version">
      <template_instance
         template="item_of_design"
         parameter="item_of_design_version">
         
      </template_instance>
   </bind>
   <bind
      parameter="product_design_view">
      <template_instance
         template="item_of_design"
         parameter="item_of_design_view">
         
      </template_instance>
   </bind>
   <bind
      parameter="product_design_contxt">
      <template_instance
         template="item_of_design"
         parameter="item_of_design_contxt">
         
      </template_instance>
   </bind>
   <comment>
      Id type is already done within the Item of Design template so not required here
   </comment>
   <comment>
      /assigning_reference_data(items=^product_design, class_name=@type , ecl_id='urn:plcs:rdl:uk_defence')/
   </comment>
   <comment>
      provide the name Identifier
   </comment>
   <call_template
      name="identifier"
      business_context="UK_Defence">
      <param_in
         name="items"
         value="^product_design">
         
      </param_in>
      <param_in
         name="ID"
         value="@name">
         
      </param_in>
      <param_in
         name="type"
         value="'Item_name'">
         
      </param_in>
      <param_in
         name="source_organization"
         value="@design_authority">
         
      </param_in>
   </call_template>
   <comment>
      create the optional relationship to the Product_specification (a type of Part_version)
   </comment>
   <instantiate
      entity="Product_version_relationship"
      context="UK_Defence">
      
   </instantiate>
   <assign
      assignment_type="points-to">
      <target>
         <express_attribute
            entity="Product_version_relationship"
            attribute="relating_version"
            context="UK_Defence">
            
         </express_attribute>
      </target>
      <source>
         <bound_parameter
            name="product_design">
            
         </bound_parameter>
      </source>
   </assign>
   <assign
      assignment_type="points-to">
      <target>
         <express_attribute
            entity="Product_version_relationship"
            attribute="related_version"
            context="UK_Defence">
            
         </express_attribute>
      </target>
      <source>
         <param_in_ref
            name="conforms_with">
            
         </param_in_ref>
      </source>
   </assign>
   <comment>
      create the optional relationship to the Nato Item of Supply Specification (a type of Resource_item)
   </comment>
   <assign
      assignment_type="points-to">
      <target>
         <express_attribute
            entity="Resource_item_assignment"
            attribute="item"
            context="UK_Defence">
            
         </express_attribute>
      </target>
      <source>
         <bound_parameter
            name="product_design">
            
         </bound_parameter>
      </source>
   </assign>
   <assign
      assignment_type="points-to">
      <target>
         <express_attribute
            entity="Resource_item_assignment"
            attribute="assigned_resource"
            context="UK_Defence">
            
         </express_attribute>
      </target>
      <source>
         <param_in_ref
            name="classified_as">
            
         </param_in_ref>
      </source>
   </assign>
</refpath>

© UK MOD 2010 — All rights reserved