Index: trunk/models/swisstopo/user_structure.sql
===================================================================
--- trunk/models/swisstopo/user_structure.sql	(revision 21)
+++ trunk/models/swisstopo/user_structure.sql	(revision 21)
@@ -0,0 +1,376 @@
+-- layer_at1 --
+CREATE TABLE `layer_at1` (
+  `OBJECT_ID` int(10) unsigned NOT NULL,
+  `Status` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Rock_Typ` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Rock_Spe` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Oeig_Descr` varchar(254) DEFAULT NULL, 
+  `Protected` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at2 --
+CREATE TABLE `layer_at2` (
+  `OBJECT_ID` int(10) unsigned NOT NULL,
+  `Orig_Descr` varchar(254) DEFAULT NULL,
+  `Buried_Out` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Composit` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Admixtur` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Structur` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Charact` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Morpholo` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Glac_Typ` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Ref_Year` varchar(254) DEFAULT NULL,
+  `Thin_Cov` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at3 --
+CREATE TABLE `layer_at3` (
+  `OBJECT_ID` int(10) unsigned NOT NULL,
+  `Fm_Homog` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Orig_Descr` varchar(254) DEFAULT NULL,
+  `Buried_Out` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Exotic_Ele` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Colour` varchar(254) DEFAULT NULL,
+  `Main_Com` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Seco_Com` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Bond_Mat` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Bedding` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Sedi_Str` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Sedi_Tex` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Igne_Tex` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Grain_Si` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Affinity` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Full_Name` varchar(254) DEFAULT NULL,
+  `Mineral` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Meta_Str` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at7 --
+CREATE TABLE `layer_at7` (
+  `OBJECT_ID` int(10) unsigned NOT NULL,
+  `Main_Mov` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at9 --
+CREATE TABLE `layer_at9` (
+  `OBJECT_ID` int(10) unsigned NOT NULL,
+  `Morai_Mo` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Glac_Typ` varchar(254) DEFAULT NULL,
+  `Ice_M_P` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Quat_Str` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at13 --
+CREATE TABLE `layer_at13` (
+  `OBJECT_ID` int(10) unsigned NOT NULL,
+  `Ice_Cave` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at15 --
+CREATE TABLE `layer_at15` (
+  `OBJECT_ID` int(10) unsigned NOT NULL,
+  `Age` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at16 --
+CREATE TABLE `layer_at16` (
+  `OBJECT_ID` int(10) unsigned NOT NULL,
+  `Azimuth` int(11) DEFAULT NULL,
+  `Plunge` int(11) DEFAULT NULL,
+  `Fold_Typ` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Fold_For` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at18 --
+CREATE TABLE `layer_at18` (
+  `OBJECT_ID` int(10) unsigned NOT NULL,
+  `Type` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  `Gen_Rela` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at19 --
+CREATE TABLE `layer_at19` (
+ `Fault_Mo` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Verti_Mo` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Horiz_Mo` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Lim_Tect_B` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Status` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Activity` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Meta_Sta` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Name` varchar(254) DEFAULT NULL,
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at20 --
+CREATE TABLE `layer_at20` (
+ `Fold_Typ` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Fold_For` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Phase` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Phase_Ref` varchar(254) DEFAULT NULL,
+ `Plunge_Dir` int(11) DEFAULT NULL,
+ `Plunge` int(11) DEFAULT NULL,
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at21 --
+CREATE TABLE `layer_at21` (
+ `Kind` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Plunge_Dir` int(11) DEFAULT NULL,
+ `Plunge` int(11) DEFAULT NULL,
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at22 --
+CREATE TABLE `layer_at22` (
+ `Polarity` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Phase` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Phase_Ref` varchar(254) DEFAULT NULL,
+ `Ob_Dip_Slo` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Dip_Direct` int(11) DEFAULT NULL,
+ `Dip` int(11) DEFAULT NULL,
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at23 --
+CREATE TABLE `layer_at23` (
+ `Type` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at24 --
+CREATE TABLE `layer_at24` (
+ `Division` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `System` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Dat_Meth` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Status` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Protected` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+ 
+ -- layer_at25 --
+CREATE TABLE `layer_at25` (
+ `Status` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Material` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Chemistry` varchar(254) DEFAULT NULL,
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+ 
+  -- layer_at26 --
+CREATE TABLE `layer_at26` (
+ `Chemistry` varchar(254) DEFAULT NULL,
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+  -- layer_at27 --
+CREATE TABLE `layer_at27` (
+ `Orient` int(11) DEFAULT NULL,	
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ -- layer_at28 --
+CREATE TABLE `layer_at28` (
+ `Strati` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Name` varchar(254) DEFAULT NULL,
+ `Accessibil` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Protected` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at29 --
+CREATE TABLE `layer_at29` (
+ `Cong_Spe` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Name_Horiz` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Orig_Descr` varchar(254) DEFAULT NULL,
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at31 --
+CREATE TABLE `layer_at31` (
+ `Status` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at32 --
+CREATE TABLE `layer_at32` (
+ `Type` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Dip_Direct` int(11) DEFAULT NULL,
+ `Dip` int(11) DEFAULT NULL,
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+ 
+ -- layer_at33 --
+CREATE TABLE `layer_at33` (
+ `Type` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Altitude` decimal (5,2) DEFAULT NULL,
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at34 --
+CREATE TABLE `layer_at34` (
+ `Dip_Direct` int(11) DEFAULT NULL,
+ `Dip` int(11) DEFAULT NULL,
+ `Height` decimal (5,2) DEFAULT NULL,
+ `Mea_Period` varchar(254) DEFAULT NULL,
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at35 --
+CREATE TABLE `layer_at35` (
+ `Confine` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Altitude` decimal (5,2) DEFAULT NULL,
+ `Wa_Table` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at36 --
+CREATE TABLE `layer_at36` (
+ `Epoch` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Period` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Age` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Type` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at37 --
+CREATE TABLE `layer_at37` (
+ `Epoch` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Period` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Age` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at38 --
+CREATE TABLE `layer_at38` (
+ `Epoch` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Period` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Age` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at39 --
+CREATE TABLE `layer_at39` (
+ `Status` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Depth_Tot` decimal (5,2) DEFAULT NULL,
+ `Targ_Mat` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+ 
+ -- layer_at40 --
+CREATE TABLE `layer_at40` (
+ `Status` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at41 --
+CREATE TABLE `layer_at41` (
+ `Status` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Targ_Mat` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at42 --
+CREATE TABLE `layer_at42` (
+ `Drill_Mo` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Depth_Bedr` decimal (5,2) DEFAULT NULL,
+ `D_C_Underg` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Main_Tar` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Targ_Mat` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Depth_Tot` decimal (5,2) DEFAULT NULL,
+ `Depth_Fm_A` decimal (5,2) DEFAULT NULL,
+ `Depth_Fm_B` decimal (5,2) DEFAULT NULL,
+ `Depth_WT` decimal (5,2) DEFAULT NULL,
+ `Plunge_Dir` int(11) DEFAULT NULL,	
+ `Plunge` int(11) DEFAULT NULL,	
+ `Ref_Number` int(11) DEFAULT NULL,	
+ `Link` int(11) DEFAULT NULL,	
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at44 --
+CREATE TABLE `layer_at44` (
+ `Status` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Epoch` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Depth` decimal (5,2) DEFAULT NULL,
+ `Depth_WT` decimal (5,2) DEFAULT NULL,
+ `Mea_Period` varchar(254) DEFAULT NULL,
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at45 --
+CREATE TABLE `layer_at45` (
+ `Combi` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at46 --
+CREATE TABLE `layer_at46` (
+ `Rel_Age` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Ref_Year` int(11) DEFAULT NULL,
+ `Source` varchar(254) DEFAULT NULL,
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at47 --
+CREATE TABLE `layer_at47` (
+ `Combi` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- layer_at48 --
+CREATE TABLE `layer_at48` (
+ `Status` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Flow_Con` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Type` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Dis_Loca` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Combi` int(11) DEFAULT NULL COMMENT 'ENUMERATION',
+ `Temp` int(11) DEFAULT NULL,
+ `Chemistry` varchar(254) DEFAULT NULL,
+ `Azimuth` int(11) DEFAULT NULL,
+  PRIMARY KEY (`OBJECT_ID`),
+  KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Index: trunk/tmdmcreator/docs/uml/tmdmcreator/128033.diagram
===================================================================
--- trunk/tmdmcreator/docs/uml/tmdmcreator/128033.diagram	(revision 20)
+++ trunk/tmdmcreator/docs/uml/tmdmcreator/128033.diagram	(revision 21)
@@ -3,21 +3,21 @@
 classcanvas 128033 class_ref 128033 // TmDmCreator
   draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
-  xyz 34.4 74.1 2000
+  xyz 32.3 74.3 2000
 end
 classcanvas 128161 class_ref 128161 // TmDmCopier
   draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
-  xyz 400.9 184.2 2000
+  xyz 528.3 153.4 2000
 end
 classcanvas 128417 class_ref 141217 // TmDmProcessor
   draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
-  xyz 196.3 408.1 2000
+  xyz 103.9 345.5 2000
 end
 classcanvas 128545 class_ref 141345 // TmDmProcessorSimple
   draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
-  xyz 363.9 588.5 2000
+  xyz 363.7 588.3 2000
 end
 classcanvas 128801 class_ref 141473 // TmDmProcessorAttributs
   draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
-  xyz 17.9 693.8 2000
+  xyz 17.9 693.2 2000
 end
 relationcanvas 128673 relation_ref 128033 // <generalisation>
Index: trunk/tmdmcreator/docs/uml/tmdmcreator/33.session
===================================================================
--- trunk/tmdmcreator/docs/uml/tmdmcreator/33.session	(revision 20)
+++ trunk/tmdmcreator/docs/uml/tmdmcreator/33.session	(revision 21)
@@ -1,10 +1,11 @@
-window_sizes 959 1031 253 700 838 136
+window_sizes 1440 852 253 1181 659 136
 diagrams
   active  classdiagram_ref 128033 // tmdmcreator
-    1573 819 90 4 0 0
+    1177 639 90 4 0 0
 end
 show_stereotypes
-selected operation_ref 144161 // _ProcessAttributesValues
+selected operation_ref 150689 // SwitchCols
 open
+  class_ref 128033 // TmDmCreator
   class_ref 128161 // TmDmCopier
   operation_ref 136481 // ProcessBlock
Index: trunk/tmdmcreator/docs/uml/tmdmcreator/tmdmcreator.prj
===================================================================
--- trunk/tmdmcreator/docs/uml/tmdmcreator/tmdmcreator.prj	(revision 20)
+++ trunk/tmdmcreator/docs/uml/tmdmcreator/tmdmcreator.prj	(revision 21)
@@ -1,5 +1,5 @@
 format 75
 "tmdmcreator"
-  revision 6
+  revision 7
   modified_by 33 "lucien"
 
@@ -251,9 +251,10 @@
       operation 137505 "ProcessFiles"
 	public explicit_return_type "bool"
-	nparams 1
+	nparams 2
 	  param out name "errorsmsg" explicit_type "wxArrayString"
-	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${v0}${)}${const}${volatile}${throw}${abstract};
-"
-	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} & ${p0}${)}${const}${volatile}${throw}${staticnl}{
+	  param in name "languagecolumn" explicit_type "int"
+	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} & ${p0}${v0}, ${t1} ${p1}${)}${const}${volatile}${throw}${abstract};
+"
+	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} & ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${staticnl}{
   ${body}}
 "
@@ -379,4 +380,32 @@
       end
 
+      attribute 155169 "m_LanguageCol"
+	protected explicit_type "int"
+	init_value "0"
+	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+"
+	java_decl ""
+	php_decl ""
+	python_decl ""
+	idl_decl ""
+	set_oper operation_ref 150817 // SetLanguageColumn
+      end
+
+      operation 150689 "SwitchCols"
+	protected explicit_return_type "wxString"
+	nparams 2
+	  param in name "cols" explicit_type "wxArrayString"
+	  param in name "values" explicit_type "wxArrayString"
+	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} * ${p0}, ${t1} * ${p1}${)}${const}${volatile}${throw}${abstract};
+"
+	cpp_def "${comment}${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+	
+	
+	
+	
+      end
+
       operation 135585 "TmDmProcessor"
 	public explicit_return_type ""
@@ -435,4 +464,26 @@
 	
 	
+      end
+
+      operation 150817 "SetLanguageColumn"
+	force_body_gen public explicit_return_type "void"
+	nparams 1
+	  param in name "value" explicit_type "int"
+	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${throw};
+"
+	cpp_def "${comment}${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${staticnl}{
+  m_LanguageCol = ${p0};
+}
+"
+	cpp_name_spec "SetLanguageColumn"
+	
+	java_name_spec "set${Name}"
+	
+	php_name_spec "set${Name}"
+	
+	python_name_spec "set${Name}"
+	
+	idl_name_spec "set_${name}"
+	set_of_attribute attribute_ref 155169 // m_LanguageCol
       end
     end
Index: trunk/tmdmcreator/src/main.cpp
===================================================================
--- trunk/tmdmcreator/src/main.cpp	(revision 20)
+++ trunk/tmdmcreator/src/main.cpp	(revision 21)
@@ -35,6 +35,7 @@
         wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP },
     { wxCMD_LINE_SWITCH, "v", "verbose", "Be more verbose" },
-    { wxCMD_LINE_SWITCH, "t", "toolmap", "toolmap output" },
-    { wxCMD_LINE_SWITCH, "o", "overwrite", "overwrite output" },    
+    { wxCMD_LINE_SWITCH, "t", "toolmap", "toolmap output (default is SQL)" },
+    { wxCMD_LINE_SWITCH, "o", "overwrite", "overwrite output" },
+    { wxCMD_LINE_OPTION, "l", "language", "language column (default is 0)", wxCMD_LINE_VAL_NUMBER, wxCMD_LINE_PARAM_OPTIONAL},
     { wxCMD_LINE_PARAM, NULL, NULL, "[base structure sql file]"},
     { wxCMD_LINE_PARAM, NULL, NULL, "[user structure sql file]"},
@@ -83,4 +84,8 @@
     bool bVerbose = parser.Found("verbose");
     bool bToolMap = parser.Found("toolmap");
+    long myLanguage = 0;
+    if(parser.Found("language", &myLanguage) == true) {
+        wxPrintf(_("Using language column: %ld\n"), myLanguage);
+    }
     if (parser.Found("overwrite") && wxFileExists(parser.GetParam(3))) {
         wxRemoveFile(parser.GetParam(3));
@@ -108,5 +113,5 @@
     }
     
-    if (myCreator.ProcessFiles(myErrors) == false) {
+    if (myCreator.ProcessFiles(myErrors, myLanguage) == false) {
         if (bVerbose == true) {
             PrintArray(myErrors);
Index: trunk/tmdmcreator/src/tmdmcreator.cpp
===================================================================
--- trunk/tmdmcreator/src/tmdmcreator.cpp	(revision 20)
+++ trunk/tmdmcreator/src/tmdmcreator.cpp	(revision 21)
@@ -91,5 +91,5 @@
 
 
-bool TmDmCreator::ProcessFiles(wxArrayString & errorsmsg) {
+bool TmDmCreator::ProcessFiles(wxArrayString & errorsmsg, int languagecolumn) {
     errorsmsg.Clear();
     // Copy structure
@@ -109,4 +109,5 @@
     // Process layers
     TmDmProcessorSimple myProc(m_FileNameUserContent, m_FileNameOutSQL);
+    myProc.SetLanguageColumn(languagecolumn);
     int myThematicLayersStart = myProc.FindBlock(_T("thematic_layers"));
     if (myThematicLayersStart == wxNOT_FOUND) {
@@ -132,4 +133,5 @@
     // Process attributs
     TmDmProcessorAttributs myProcAttributs (m_FileNameUserContent, m_FileNameOutSQL);
+    myProcAttributs.SetLanguageColumn(languagecolumn);
     int myAttributStart = myProcAttributs.FindBlock(_T("attributs"));
     if (myAttributStart == wxNOT_FOUND) {
Index: trunk/tmdmcreator/src/tmdmcreator.h
===================================================================
--- trunk/tmdmcreator/src/tmdmcreator.h	(revision 20)
+++ trunk/tmdmcreator/src/tmdmcreator.h	(revision 21)
@@ -42,5 +42,5 @@
     
     bool CheckFiles(wxArrayString & errormsg);
-    bool ProcessFiles(wxArrayString & errorsmsg);    
+    bool ProcessFiles(wxArrayString & errorsmsg, int languagecolumn);
 };
 #endif
Index: trunk/tmdmcreator/src/tmdmprocessor.cpp
===================================================================
--- trunk/tmdmcreator/src/tmdmprocessor.cpp	(revision 20)
+++ trunk/tmdmcreator/src/tmdmprocessor.cpp	(revision 21)
@@ -21,4 +21,5 @@
     m_FileSrc = src;
     m_FileDst = dest;
+    m_LanguageCol = 0;
 }
 
@@ -42,4 +43,29 @@
     }
     return wxNOT_FOUND;
+}
+
+
+
+wxString TmDmProcessor::SwitchCols(wxArrayString * cols, wxArrayString * values, int item) {
+    if (m_LanguageCol == 0) {
+        return values->Item(item);
+    }
+    
+
+    if(cols->Item(item).Contains(_T("_0")) == true) {
+        return values->Item(item + m_LanguageCol);
+    }
+    
+    wxString myColName = wxString::Format(_T("_%d"), m_LanguageCol);
+    if (cols->Item(item).Contains(myColName) == true) {
+        return values->Item(item - m_LanguageCol);
+    }
+    return values->Item(item);
+}
+
+
+
+void TmDmProcessor::SetLanguageColumn(int value) {
+    m_LanguageCol = value;
 }
 
@@ -104,5 +130,5 @@
         myInsert.Append(_T(") VALUES ("));
         for (unsigned int i = 0; i< mySQLCols.GetCount(); i++) {
-            myInsert.Append(wxString::Format(_T("\"%s\","), myValues.Item(i)));
+            myInsert.Append(wxString::Format(_T("\"%s\","), SwitchCols(&mySQLCols, &myValues, i)));
         }
         myInsert.RemoveLast();
@@ -232,5 +258,5 @@
         wxString myInsert = _T("INSERT INTO `dmn_catalog` VALUES (");
         for (unsigned int i = START_COL; i< mySQLCols.GetCount(); i++) {
-            myInsert.Append(wxString::Format(_T("\"%s\","), myValues.Item(i)));
+            myInsert.Append(wxString::Format(_T("\"%s\","), SwitchCols(&mySQLCols, &myValues, i)));
         }
         myInsert.RemoveLast();
Index: trunk/tmdmcreator/src/tmdmprocessor.h
===================================================================
--- trunk/tmdmcreator/src/tmdmprocessor.h	(revision 20)
+++ trunk/tmdmcreator/src/tmdmprocessor.h	(revision 21)
@@ -33,4 +33,7 @@
     wxFileName m_FileDst;
     
+    int m_LanguageCol;
+    wxString SwitchCols(wxArrayString * cols, wxArrayString * values, int item);
+    
 public:
     TmDmProcessor(const wxFileName & src, const wxFileName & dest);
@@ -39,4 +42,6 @@
     int FindBlock(const wxString & blockname);
     virtual bool ProcessBlock(int blockstart, const wxString & tablename) = 0;
+
+    void SetLanguageColumn(int value);
 };
 
Index: trunk/tutorial/model_tutorial.tex
===================================================================
--- trunk/tutorial/model_tutorial.tex	(revision 20)
+++ trunk/tutorial/model_tutorial.tex	(revision 21)
@@ -115,5 +115,5 @@
   PRIMARY KEY (`OBJECT_ID`),
   KEY `LAYER_ATX_FKIndex1` (`OBJECT_ID`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 \end{lstlisting}
 This code is the basic template for creating an attribute table. The number after layer\_at (see line 2) indicates the layer index and refers to the LAYER\_INDEX column in user\_content.txt. In our example layer\_at1 describe the attributes for the layer Boreholes\_PT. User attributes can then be added on line 4 of this template.
