(*
 * $Id$
 *
 * JSDAI(TM), a way to implement STEP, ISO 10303
 * Copyright (C) 1997-2008, LKSoftWare GmbH, Germany
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License
 * version 3 as published by the Free Software Foundation (AGPL v3).
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * JSDAI is a registered trademark of LKSoftWare GmbH, Germany
 * This software is also available under commercial licenses.
 * See also http://www.jsdai.net/
 *)

(*schema_mapping product_view_definition(Product_view_definition_arm, Product_view_definition_mim);*)

uof_mapping Product_View_Definition(Product_View_Definition);

entity_mapping Product_view_definition(Product_view_definition, product_definition);

attribute_mapping id(id, product_definition.id);

end_attribute_mapping;

attribute_mapping name(name, product_definition.description);

end_attribute_mapping;

attribute_mapping additional_characterization(additional_characterization, name_attribute.attribute_value);

      product_definition = name_attribute_select
      name_attribute_select <- name_attribute.named_item
      name_attribute
      name_attribute.attribute_value
	
end_attribute_mapping;

attribute_mapping initial_context(initial_context, $PATH, product_definition_context);
product_definition
		product_definition.frame_of_reference -> product_definition_context
	   
end_attribute_mapping;

attribute_mapping additional_contexts(additional_contexts, $PATH, product_definition_context);
product_definition <-
		product_definition_context_association.definition
		product_definition_context_association
		{product_definition_context_association.role ->
		product_definition_context_role
		product_definition_context_role.name = 'additional context'}
		product_definition_context_association.frame_of_reference ->
		product_definition_context
		
end_attribute_mapping;

attribute_mapping defined_version(defined_version, $PATH, product_definition_formation);

		product_definition.formation -> product_definition_formation
	
end_attribute_mapping;

end_entity_mapping;
(* product_definition_context is taken from AIM instead
entity_mapping View_definition_context(View_definition_context, product_definition_context);

attribute_mapping application_domain(application_domain, application_context.application);

       	product_definition_context <=
		application_context_element
		application_context_element.frame_of_reference ->
		application_context
		application_context.application
	
end_attribute_mapping;

attribute_mapping life_cycle_stage(life_cycle_stage, product_definition_context.life_cycle_stage);

       	product_definition_context.life_cycle_stage
       
end_attribute_mapping;

attribute_mapping description(description, application_context.description);

       	product_definition_context <= application_context_element
		application_context_element.frame_of_reference ->
		application_context
		application_context.description
	    
end_attribute_mapping;

end_entity_mapping;
*)
end_uof_mapping;

(*end_schema_mapping;*)
