commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

r5164 - in trunk: gnue-appserver gnue-appserver/doc/technotes gnue-appse


From: johannes
Subject: r5164 - in trunk: gnue-appserver gnue-appserver/doc/technotes gnue-appserver/samples gnue-appserver/src/classrep gnue-common/doc/technotes gnue-common/src/formatting gnue-common/src/schema gnue-common/src/schema/scripter gnue-common/src/schema/scripter/processors
Date: Thu, 26 Feb 2004 10:23:25 -0600 (CST)

Author: johannes
Date: 2004-02-26 10:23:23 -0600 (Thu, 26 Feb 2004)
New Revision: 5164

Modified:
   trunk/gnue-appserver/BUGS
   trunk/gnue-appserver/doc/technotes/00002.txt
   trunk/gnue-appserver/samples/auth.gsd
   trunk/gnue-appserver/samples/base.gsd
   trunk/gnue-appserver/samples/sample.gsd
   trunk/gnue-appserver/src/classrep/Base.py
   trunk/gnue-appserver/src/classrep/Property.py
   trunk/gnue-appserver/src/classrep/SchemaSupport.py
   trunk/gnue-common/doc/technotes/00012.txt
   trunk/gnue-common/src/formatting/GTypecast.py
   trunk/gnue-common/src/schema/GSParser.py
   trunk/gnue-common/src/schema/Objects.py
   trunk/gnue-common/src/schema/scripter/Definition.py
   trunk/gnue-common/src/schema/scripter/Scripter.py
   trunk/gnue-common/src/schema/scripter/processors/Base.py
   trunk/gnue-common/src/schema/scripter/processors/SQL.py
   trunk/gnue-common/src/schema/scripter/processors/mssql.py
   trunk/gnue-common/src/schema/scripter/processors/postgresql.py
Log:
Fixed all sorts of encoding problems in generating and reading gsd files.


Modified: trunk/gnue-appserver/BUGS
===================================================================
--- trunk/gnue-appserver/BUGS   2004-02-26 09:46:01 UTC (rev 5163)
+++ trunk/gnue-appserver/BUGS   2004-02-26 16:23:23 UTC (rev 5164)
@@ -13,7 +13,5 @@
 
 * Not all strings are translatable, i.e. _() has to put around all strings
 
-* Module-, Class- and Propertynames must not contain non-ASCII characters
-
 * The class repository doesn't get along with properties that have set the
   gnue_lenght or gnue_scale to NULL

Modified: trunk/gnue-appserver/doc/technotes/00002.txt
===================================================================
--- trunk/gnue-appserver/doc/technotes/00002.txt        2004-02-26 09:46:01 UTC 
(rev 5163)
+++ trunk/gnue-appserver/doc/technotes/00002.txt        2004-02-26 16:23:23 UTC 
(rev 5164)
@@ -1,7 +1,7 @@
 Title:   The Class Repository
 Status:  Current 
 Created: 2003-09-17
-Revised: 2004-02-08
+Revised: 2004-02-24
 
 The Class Repository holds all information about the structure of the business
 objects.
@@ -60,7 +60,19 @@
 Apart from that, the Python object of class "Property" has the following
 properties:
 
-* fullName: The fully qualified name
-* fullType: The complete data type of the property, including length and scale
-* column:   The underlying database column (or None if it is a calculated
-            property (not yet implemented))
+* fullName:   The fully qualified name
+* fullType:   The complete data type of the property, including length and 
+              scale. This is the appserver-specific data type, e.g. a column
+              'gnue_id' has 'id' as fullType, or a column could have
+              'address_country' as fullType. 
+* column:     The underlying database column (or None if it is a calculated
+              property (not yet implemented))
+* dbType:     The database-specific type of the property, not including length 
+              or scale, e.g. a column 'gnue_id' has 'string' as dbType.
+* dbLength:   The length of the property from the databases point of view
+* dbScale:    The precision of the property from the databases point of view
+* dbFullType: The complete data type of the property, including length and
+              scale. This is the database-specific data type, e.g. a column
+              'gnue_id' has 'string(32)' as dbFullType, as well as the above
+              'address_country' column would be 'string(32)'. A column with
+              fullType 'boolean' has a dbFullType 'boolean'.

Modified: trunk/gnue-appserver/samples/auth.gsd
===================================================================
--- trunk/gnue-appserver/samples/auth.gsd       2004-02-26 09:46:01 UTC (rev 
5163)
+++ trunk/gnue-appserver/samples/auth.gsd       2004-02-26 16:23:23 UTC (rev 
5164)
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!-- Schema definition created by GNUe Appserver's Schema Support. -->
 <!-- run this file through gnue-schema to create SQL scripts -->
 <schema author="Appserver SchemaSupport" title="Appserver Schema Dump"
@@ -8,7 +8,7 @@
       <fields>
         <field name="gnue_accesslist"
                description="List of classes with access allowed" length="100" 
type="string"/>
-        <field name="gnue_id" description="Object ID" length="32"
+        <field name="gnue_id" description="Object ID" length="32" nullable="N"
                type="string"/>
         <field name="gnue_password" description="Password" length="70"
                type="string"/>
@@ -26,54 +26,54 @@
     <tabledata name="gnue_class_dump" tablename="gnue_class">
       <rows>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000060'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_name">'useraccess'</value>
-          <value field="gnue_comment">'GNU Enterprise User 
Authentication'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000060</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_name" type="string(35)">useraccess</value>
+          <value field="gnue_comment" type="string(70)">GNU Enterprise User 
Authentication</value>
         </row>
       </rows>
     </tabledata>
     <tabledata name="gnue_property_dump" tablename="gnue_property">
       <rows>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000064'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000060'</value>
-          <value field="gnue_name">'accesslist'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'100'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'List of classes with access 
allowed'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000064</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000060</value>
+          <value field="gnue_name" type="string(35)">accesslist</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">100</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">List of classes with 
access allowed</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000061'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000060'</value>
-          <value field="gnue_name">'id'</value>
-          <value field="gnue_type">'id'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Object ID'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000061</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000060</value>
+          <value field="gnue_name" type="string(35)">id</value>
+          <value field="gnue_type" type="string(35)">id</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Object ID</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000063'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000060'</value>
-          <value field="gnue_name">'password'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'70'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Password'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000063</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000060</value>
+          <value field="gnue_name" type="string(35)">password</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">70</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Password</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000062'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000060'</value>
-          <value field="gnue_name">'username'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'20'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Username'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000062</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000060</value>
+          <value field="gnue_name" type="string(35)">username</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">20</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Username</value>
         </row>
       </rows>
     </tabledata>

Modified: trunk/gnue-appserver/samples/base.gsd
===================================================================
--- trunk/gnue-appserver/samples/base.gsd       2004-02-26 09:46:01 UTC (rev 
5163)
+++ trunk/gnue-appserver/samples/base.gsd       2004-02-26 16:23:23 UTC (rev 
5164)
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!-- Schema definition created by GNUe Appserver's Schema Support. -->
 <!-- run this file through gnue-schema to create SQL scripts -->
 <schema author="Appserver SchemaSupport" title="Appserver Schema Dump"
@@ -8,7 +8,7 @@
       <fields>
         <field name="gnue_comment" description="Comment" length="70"
                type="string"/>
-        <field name="gnue_id" description="Object ID" length="32"
+        <field name="gnue_id" description="Object ID" length="32" nullable="N"
                type="string"/>
         <field name="gnue_name" description="Name" length="35" type="string"/>
       </fields>
@@ -22,7 +22,7 @@
       <fields>
         <field name="gnue_comment" description="Comment" length="70"
                type="string"/>
-        <field name="gnue_id" description="Object ID" length="32"
+        <field name="gnue_id" description="Object ID" length="32" nullable="N"
                type="string"/>
         <field name="gnue_module" description="Module that defined this class"
                length="32" type="string"/>
@@ -41,7 +41,7 @@
                length="32" type="string"/>
         <field name="gnue_comment" description="Comment" length="70"
                type="string"/>
-        <field name="gnue_id" description="Object ID" length="32"
+        <field name="gnue_id" description="Object ID" length="32" nullable="N"
                type="string"/>
         <field name="gnue_length" description="Lenght of the property"
                length="6" type="number"/>
@@ -69,7 +69,7 @@
                type="string"/>
         <field name="gnue_compiledcode" description="Compiled procedure code"
                type="string"/>
-        <field name="gnue_id" description="Object ID" length="32"
+        <field name="gnue_id" description="Object ID" length="32" nullable="N"
                type="string"/>
         <field name="gnue_language" description="Procedure language"
                length="10" type="string"/>
@@ -89,271 +89,271 @@
     <tabledata name="gnue_module_dump" tablename="gnue_module">
       <rows>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000000'</value>
-          <value field="gnue_name">'gnue'</value>
-          <value field="gnue_comment">'GNU Enterprise System 
Management'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_name" type="string(35)">gnue</value>
+          <value field="gnue_comment" type="string(70)">GNU Enterprise System 
Management</value>
         </row>
       </rows>
     </tabledata>
     <tabledata name="gnue_class_dump" tablename="gnue_class">
       <rows>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000010'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_name">'module'</value>
-          <value field="gnue_comment">'GNU Enterprise Business Object 
Module'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000010</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_name" type="string(35)">module</value>
+          <value field="gnue_comment" type="string(70)">GNU Enterprise 
Business Object Module</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000020'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_name">'class'</value>
-          <value field="gnue_comment">'GNU Enterprise Business Object 
Class'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000020</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_name" type="string(35)">class</value>
+          <value field="gnue_comment" type="string(70)">GNU Enterprise 
Business Object Class</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000030'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_name">'property'</value>
-          <value field="gnue_comment">'GNU Enterprise Business Object 
Property'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000030</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_name" type="string(35)">property</value>
+          <value field="gnue_comment" type="string(70)">GNU Enterprise 
Business Object Property</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000040'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_name">'procedure'</value>
-          <value field="gnue_comment">'GNU Enterprise Business Object 
Procedure'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000040</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_name" type="string(35)">procedure</value>
+          <value field="gnue_comment" type="string(70)">GNU Enterprise 
Business Object Procedure</value>
         </row>
       </rows>
     </tabledata>
     <tabledata name="gnue_property_dump" tablename="gnue_property">
       <rows>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000013'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000010'</value>
-          <value field="gnue_name">'comment'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'70'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Comment'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000013</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000010</value>
+          <value field="gnue_name" type="string(35)">comment</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">70</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Comment</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000011'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000010'</value>
-          <value field="gnue_name">'id'</value>
-          <value field="gnue_type">'id'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Object ID'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000011</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000010</value>
+          <value field="gnue_name" type="string(35)">id</value>
+          <value field="gnue_type" type="string(35)">id</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Object ID</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000012'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000010'</value>
-          <value field="gnue_name">'name'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'35'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Name'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000012</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000010</value>
+          <value field="gnue_name" type="string(35)">name</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">35</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Name</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000024'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000020'</value>
-          <value field="gnue_name">'comment'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'70'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Comment'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000024</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000020</value>
+          <value field="gnue_name" type="string(35)">comment</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">70</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Comment</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000021'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000020'</value>
-          <value field="gnue_name">'id'</value>
-          <value field="gnue_type">'id'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Object ID'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000021</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000020</value>
+          <value field="gnue_name" type="string(35)">id</value>
+          <value field="gnue_type" type="string(35)">id</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Object ID</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000022'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000020'</value>
-          <value field="gnue_name">'module'</value>
-          <value field="gnue_type">'id'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Module that defined this class'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000022</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000020</value>
+          <value field="gnue_name" type="string(35)">module</value>
+          <value field="gnue_type" type="string(35)">id</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Module that defined 
this class</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000023'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000020'</value>
-          <value field="gnue_name">'name'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'35'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Classname without modulename'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000023</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000020</value>
+          <value field="gnue_name" type="string(35)">name</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">35</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Classname without 
modulename</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000032'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000030'</value>
-          <value field="gnue_name">'class'</value>
-          <value field="gnue_type">'id'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Class the property belongs to'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000032</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000030</value>
+          <value field="gnue_name" type="string(35)">class</value>
+          <value field="gnue_type" type="string(35)">id</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Class the property 
belongs to</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000038'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000030'</value>
-          <value field="gnue_name">'comment'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'70'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Comment'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000038</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000030</value>
+          <value field="gnue_name" type="string(35)">comment</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">70</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Comment</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000031'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000030'</value>
-          <value field="gnue_name">'id'</value>
-          <value field="gnue_type">'id'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Object ID'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000031</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000030</value>
+          <value field="gnue_name" type="string(35)">id</value>
+          <value field="gnue_type" type="string(35)">id</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Object ID</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000036'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000030'</value>
-          <value field="gnue_name">'length'</value>
-          <value field="gnue_type">'number'</value>
-          <value field="gnue_length">'6'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Lenght of the property'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000036</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000030</value>
+          <value field="gnue_name" type="string(35)">length</value>
+          <value field="gnue_type" type="string(35)">number</value>
+          <value field="gnue_length" type="number(6)">6</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Lenght of the 
property</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000033'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000030'</value>
-          <value field="gnue_name">'module'</value>
-          <value field="gnue_type">'id'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Module that defined this 
property'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000033</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000030</value>
+          <value field="gnue_name" type="string(35)">module</value>
+          <value field="gnue_type" type="string(35)">id</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Module that defined 
this property</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000034'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000030'</value>
-          <value field="gnue_name">'name'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'35'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Propertyname without modulename'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000034</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000030</value>
+          <value field="gnue_name" type="string(35)">name</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">35</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Propertyname without 
modulename</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000037'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000030'</value>
-          <value field="gnue_name">'scale'</value>
-          <value field="gnue_type">'number'</value>
-          <value field="gnue_length">'4'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Scale of numeric data'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000037</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000030</value>
+          <value field="gnue_name" type="string(35)">scale</value>
+          <value field="gnue_type" type="string(35)">number</value>
+          <value field="gnue_length" type="number(6)">4</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Scale of numeric 
data</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000035'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000030'</value>
-          <value field="gnue_name">'type'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'35'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Property type'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000035</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000030</value>
+          <value field="gnue_name" type="string(35)">type</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">35</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Property type</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000042'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000040'</value>
-          <value field="gnue_name">'class'</value>
-          <value field="gnue_type">'id'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Class the procedure belongs to'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000042</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000040</value>
+          <value field="gnue_name" type="string(35)">class</value>
+          <value field="gnue_type" type="string(35)">id</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Class the procedure 
belongs to</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000046'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000040'</value>
-          <value field="gnue_name">'code'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Procedure code'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000046</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000040</value>
+          <value field="gnue_name" type="string(35)">code</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Procedure code</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000048'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000040'</value>
-          <value field="gnue_name">'comment'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'70'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Comment'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000048</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000040</value>
+          <value field="gnue_name" type="string(35)">comment</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">70</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Comment</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000047'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000040'</value>
-          <value field="gnue_name">'compiledcode'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Compiled procedure code'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000047</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000040</value>
+          <value field="gnue_name" type="string(35)">compiledcode</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Compiled procedure 
code</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000041'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000040'</value>
-          <value field="gnue_name">'id'</value>
-          <value field="gnue_type">'id'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Object ID'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000041</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000040</value>
+          <value field="gnue_name" type="string(35)">id</value>
+          <value field="gnue_type" type="string(35)">id</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Object ID</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000045'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000040'</value>
-          <value field="gnue_name">'language'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'10'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Procedure language'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000045</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000040</value>
+          <value field="gnue_name" type="string(35)">language</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">10</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Procedure 
language</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000043'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000040'</value>
-          <value field="gnue_name">'module'</value>
-          <value field="gnue_type">'id'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Module that defined this 
procedure'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000043</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000040</value>
+          <value field="gnue_name" type="string(35)">module</value>
+          <value field="gnue_type" type="string(35)">id</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Module that defined 
this procedure</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000000044'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000000040'</value>
-          <value field="gnue_name">'name'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'35'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Procedurename without 
modulename'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000000044</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000000040</value>
+          <value field="gnue_name" type="string(35)">name</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">35</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Procedurename without 
modulename</value>
         </row>
       </rows>
     </tabledata>

Modified: trunk/gnue-appserver/samples/sample.gsd
===================================================================
--- trunk/gnue-appserver/samples/sample.gsd     2004-02-26 09:46:01 UTC (rev 
5163)
+++ trunk/gnue-appserver/samples/sample.gsd     2004-02-26 16:23:23 UTC (rev 
5164)
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!-- Schema definition created by GNUe Appserver's Schema Support. -->
 <!-- run this file through gnue-schema to create SQL scripts -->
 <schema author="Appserver SchemaSupport" title="Appserver Schema Dump"
@@ -10,7 +10,7 @@
                type="string"/>
         <field name="address_name" description="The name of the country"
                length="35" type="string"/>
-        <field name="gnue_id" description="Object ID" length="32"
+        <field name="gnue_id" description="Object ID" length="32" nullable="N"
                type="string"/>
       </fields>
       <constraints/>
@@ -42,7 +42,7 @@
                length="4" precision="1" type="number"/>
         <field name="address_zip"
                description="Zip code of the city where the person lives" 
length="35" type="string"/>
-        <field name="gnue_id" description="Object ID" length="32"
+        <field name="gnue_id" description="Object ID" length="32" nullable="N"
                type="string"/>
       </fields>
       <constraints/>
@@ -56,1458 +56,1458 @@
     <tabledata name="gnue_module_dump" tablename="gnue_module">
       <rows>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001000'</value>
-          <value field="gnue_name">'address'</value>
-          <value field="gnue_comment">'Address Management'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_name" type="string(35)">address</value>
+          <value field="gnue_comment" type="string(70)">Address 
Management</value>
         </row>
       </rows>
     </tabledata>
     <tabledata name="gnue_class_dump" tablename="gnue_class">
       <rows>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001020'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_name">'country'</value>
-          <value field="gnue_comment">'Country'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001020</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_name" type="string(35)">country</value>
+          <value field="gnue_comment" type="string(70)">Country</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001010'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_name">'person'</value>
-          <value field="gnue_comment">'Person'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_name" type="string(35)">person</value>
+          <value field="gnue_comment" type="string(70)">Person</value>
         </row>
       </rows>
     </tabledata>
     <tabledata name="gnue_property_dump" tablename="gnue_property">
       <rows>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001022'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_class">'00000000000000000000000000001020'</value>
-          <value field="gnue_name">'code'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'2'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'ISO-Country code'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001022</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001020</value>
+          <value field="gnue_name" type="string(35)">code</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">2</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">ISO-Country 
code</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001023'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_class">'00000000000000000000000000001020'</value>
-          <value field="gnue_name">'name'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'35'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'The name of the country'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001023</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001020</value>
+          <value field="gnue_name" type="string(35)">name</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">35</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">The name of the 
country</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001021'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000001020'</value>
-          <value field="gnue_name">'id'</value>
-          <value field="gnue_type">'id'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Object ID'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001021</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001020</value>
+          <value field="gnue_name" type="string(35)">id</value>
+          <value field="gnue_type" type="string(35)">id</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Object ID</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001019'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_class">'00000000000000000000000000001010'</value>
-          <value field="gnue_name">'born'</value>
-          <value field="gnue_type">'date'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Birthday'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001019</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_name" type="string(35)">born</value>
+          <value field="gnue_type" type="string(35)">date</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Birthday</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001017'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_class">'00000000000000000000000000001010'</value>
-          <value field="gnue_name">'children'</value>
-          <value field="gnue_type">'number'</value>
-          <value field="gnue_length">'2'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Number of children'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001017</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_name" type="string(35)">children</value>
+          <value field="gnue_type" type="string(35)">number</value>
+          <value field="gnue_length" type="number(6)">2</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Number of 
children</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001015'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_class">'00000000000000000000000000001010'</value>
-          <value field="gnue_name">'city'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'35'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'City where the person lives'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001015</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_name" type="string(35)">city</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">35</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">City where the person 
lives</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001016'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_class">'00000000000000000000000000001010'</value>
-          <value field="gnue_name">'country'</value>
-          <value field="gnue_type">'address_country'</value>
-          <value field="gnue_length">'32'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Country where the person lives'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001016</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_name" type="string(35)">country</value>
+          <value field="gnue_type" type="string(35)">address_country</value>
+          <value field="gnue_length" type="number(6)">32</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Country where the 
person lives</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000000000101C'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_class">'00000000000000000000000000001010'</value>
-          <value field="gnue_name">'human'</value>
-          <value field="gnue_type">'boolean'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Whether the person is human or 
not'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000000000101C</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_name" type="string(35)">human</value>
+          <value field="gnue_type" type="string(35)">boolean</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Whether the person is 
human or not</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000000000101B'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_class">'00000000000000000000000000001010'</value>
-          <value field="gnue_name">'lastmeeting'</value>
-          <value field="gnue_type">'datetime'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Date and time of the last 
meeting'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000000000101B</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_name" type="string(35)">lastmeeting</value>
+          <value field="gnue_type" type="string(35)">datetime</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Date and time of the 
last meeting</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000000000101A'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_class">'00000000000000000000000000001010'</value>
-          <value field="gnue_name">'meettime'</value>
-          <value field="gnue_type">'time'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Preferred time for meetings'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000000000101A</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_name" type="string(35)">meettime</value>
+          <value field="gnue_type" type="string(35)">time</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Preferred time for 
meetings</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001012'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_class">'00000000000000000000000000001010'</value>
-          <value field="gnue_name">'name'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'35'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Name of the person'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001012</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_name" type="string(35)">name</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">35</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Name of the 
person</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001013'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_class">'00000000000000000000000000001010'</value>
-          <value field="gnue_name">'street'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'35'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Street where the person lives'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001013</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_name" type="string(35)">street</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">35</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Street where the 
person lives</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001018'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_class">'00000000000000000000000000001010'</value>
-          <value field="gnue_name">'weight'</value>
-          <value field="gnue_type">'number'</value>
-          <value field="gnue_length">'4'</value>
-          <value field="gnue_scale">'1'</value>
-          <value field="gnue_comment">'Weight of the person in kg'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001018</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_name" type="string(35)">weight</value>
+          <value field="gnue_type" type="string(35)">number</value>
+          <value field="gnue_length" type="number(6)">4</value>
+          <value field="gnue_scale" type="number(4)">1</value>
+          <value field="gnue_comment" type="string(70)">Weight of the person 
in kg</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001014'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_class">'00000000000000000000000000001010'</value>
-          <value field="gnue_name">'zip'</value>
-          <value field="gnue_type">'string'</value>
-          <value field="gnue_length">'35'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Zip code of the city where the person 
lives'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001014</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_name" type="string(35)">zip</value>
+          <value field="gnue_type" type="string(35)">string</value>
+          <value field="gnue_length" type="number(6)">35</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Zip code of the city 
where the person lives</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001011'</value>
-          <value field="gnue_module">'00000000000000000000000000000000'</value>
-          <value field="gnue_class">'00000000000000000000000000001010'</value>
-          <value field="gnue_name">'id'</value>
-          <value field="gnue_type">'id'</value>
-          <value field="gnue_length">'0'</value>
-          <value field="gnue_scale">'0'</value>
-          <value field="gnue_comment">'Object ID'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001011</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000000000</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_name" type="string(35)">id</value>
+          <value field="gnue_type" type="string(35)">id</value>
+          <value field="gnue_length" type="number(6)">0</value>
+          <value field="gnue_scale" type="number(4)">0</value>
+          <value field="gnue_comment" type="string(70)">Object ID</value>
         </row>
       </rows>
     </tabledata>
     <tabledata name="sample_procedures" tablename="gnue_procedure">
       <rows>
         <row>
-          <value field="gnue_id">'0000000000000000000000000000101F'</value>
-          <value field="gnue_class">'00000000000000000000000000001010'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_name">'show'</value>
-          <value field="gnue_language">'python'</value>
-          <value field="gnue_code">'print self.address_name'</value>
-          <value field="gnue_comment">'Simple procedure to test 
Appserver'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000000000101F</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_name" type="string(35)">show</value>
+          <value field="gnue_language" type="string(10)">python</value>
+          <value field="gnue_code" type="string">print 
self.address_name</value>
+          <value field="gnue_comment" type="string(70)">Simple procedure to 
test Appserver</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000000000101E'</value>
-          <value field="gnue_class">'00000000000000000000000000001010'</value>
-          <value field="gnue_module">'00000000000000000000000000001000'</value>
-          <value field="gnue_name">'test'</value>
-          <value field="gnue_language">'python'</value>
-          <value field="gnue_code">
-'if self.address_name [0] == "(":
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000000000101E</value>
+          <value field="gnue_class" 
type="string(32)">00000000000000000000000000001010</value>
+          <value field="gnue_module" 
type="string(32)">00000000000000000000000000001000</value>
+          <value field="gnue_name" type="string(35)">test</value>
+          <value field="gnue_language" type="string(10)">python</value>
+          <value field="gnue_code" type="string">
+if self.address_name [0] == "(":
   self.address_name = self.address_name [1:len(self.address_name)-1]
 else:
-  self.address_name = "(" + self.address_name + ")"'
+  self.address_name = "(" + self.address_name + ")"
           </value>
-          <value field="gnue_comment">'Simple procedure to test 
Appserver'</value>
+          <value field="gnue_comment" type="string(70)">Simple procedure to 
test Appserver</value>
         </row>
       </rows>
     </tabledata>
     <tabledata name="sample_persons" tablename="address_person">
       <rows>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001100'</value>
-          <value field="address_name">'James T. Kirk'</value>
-          <value field="address_street">'Enterprise Road 17'</value>
-          <value field="address_zip">'2002'</value>
-          <value field="address_city">'Gnutown'</value>
-          <value 
field="address_country">'00000000000000000000002000000002'</value>
-          <value field="address_children">'1'</value>
-          <value field="address_weight">'85.4'</value>
-          <value field="address_born">'2233-03-21'</value>
-          <value field="address_meettime">'19:00'</value>
-          <value field="address_lastmeeting">'2270-05-31 18:30'</value>
-          <value field="address_human">'1'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001100</value>
+          <value field="address_name" type="string(35)">James T. Kirk</value>
+          <value field="address_street" type="string(35)">Enterprise Road 
17</value>
+          <value field="address_zip" type="string(35)">2002</value>
+          <value field="address_city" type="string(35)">Gnutown</value>
+          <value field="address_country" 
type="string(32)">00000000000000000000002000000002</value>
+          <value field="address_children" type="number(2)">1</value>
+          <value field="address_weight" type="number(4.1)">85.4</value>
+          <value field="address_born" type="date">2233-03-21</value>
+          <value field="address_meettime" type="time">19:00</value>
+          <value field="address_lastmeeting" type="datetime">2270-05-31 
18:30</value>
+          <value field="address_human" type="boolean">TRUE</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000000000001101'</value>
-          <value field="address_name">'Mr. Spock'</value>
-          <value field="address_street">'Vulc Lane 1'</value>
-          <value field="address_zip">'4711'</value>
-          <value field="address_city">'Vulcane'</value>
-          <value 
field="address_country">'00000000000000000000002000000001'</value>
-          <value field="address_children">'0'</value>
-          <value field="address_weight">'78.8'</value>
-          <value field="address_born">'2230-01-01'</value>
-          <value field="address_meettime">'6:30'</value>
-          <value field="address_lastmeeting">'2270-05-17 08:00'</value>
-          <value field="address_human">'0'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000000000001101</value>
+          <value field="address_name" type="string(35)">Mr. Spock</value>
+          <value field="address_street" type="string(35)">Vulc Lane 1</value>
+          <value field="address_zip" type="string(35)">4711</value>
+          <value field="address_city" type="string(35)">Vulcane</value>
+          <value field="address_country" 
type="string(32)">00000000000000000000002000000001</value>
+          <value field="address_children" type="number(2)">0</value>
+          <value field="address_weight" type="number(4.1)">78.8</value>
+          <value field="address_born" type="date">2230-01-01</value>
+          <value field="address_meettime" type="time">6:30</value>
+          <value field="address_lastmeeting" type="datetime">2270-05-17 
08:00</value>
+          <value field="address_human" type="boolean">FALSE</value>
         </row>
       </rows>
     </tabledata>
     <tabledata name="sample_accounts" tablename="gnue_useraccess">
       <rows>
         <row>
-          <value field="gnue_id">'00000000000000000000001000000001'</value>
-          <value field="gnue_username">'test'</value>
-          <value field="gnue_password">'test'</value>
-          <value 
field="gnue_accesslist">'address_person,address_country'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000001000000001</value>
+          <value field="gnue_username" type="string(20)">test</value>
+          <value field="gnue_password" type="string(70)">test</value>
+          <value field="gnue_accesslist" 
type="string(100)">address_person,address_country</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000001000000002'</value>
-          <value field="gnue_username">'hacker'</value>
-          <value field="gnue_password">'secret'</value>
-          <value 
field="gnue_accesslist">'address_person,address_country,gnue_module,gnue_class,gnue_property,gnue_procedure'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000001000000002</value>
+          <value field="gnue_username" type="string(20)">hacker</value>
+          <value field="gnue_password" type="string(70)">secret</value>
+          <value field="gnue_accesslist" 
type="string(100)">address_person,address_country,gnue_module,gnue_class,gnue_property,gnue_procedure</value>
         </row>
       </rows>
     </tabledata>
     <tabledata name="sample_countries" tablename="address_country">
       <rows>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000001'</value>
-          <value field="address_code">'AF'</value>
-          <value field="address_name">'Afghanistan'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000001</value>
+          <value field="address_code" type="string(2)">AF</value>
+          <value field="address_name" type="string(35)">Afghanistan</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000002'</value>
-          <value field="address_code">'AX'</value>
-          <value field="address_name">'Aland Islands'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000002</value>
+          <value field="address_code" type="string(2)">AX</value>
+          <value field="address_name" type="string(35)">Aland Islands</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000003'</value>
-          <value field="address_code">'AL'</value>
-          <value field="address_name">'Albania'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000003</value>
+          <value field="address_code" type="string(2)">AL</value>
+          <value field="address_name" type="string(35)">Albania</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000004'</value>
-          <value field="address_code">'DZ'</value>
-          <value field="address_name">'Algeria'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000004</value>
+          <value field="address_code" type="string(2)">DZ</value>
+          <value field="address_name" type="string(35)">Algeria</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000005'</value>
-          <value field="address_code">'AS'</value>
-          <value field="address_name">'American Samoa'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000005</value>
+          <value field="address_code" type="string(2)">AS</value>
+          <value field="address_name" type="string(35)">American Samoa</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000006'</value>
-          <value field="address_code">'AD'</value>
-          <value field="address_name">'Andorra'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000006</value>
+          <value field="address_code" type="string(2)">AD</value>
+          <value field="address_name" type="string(35)">Andorra</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000007'</value>
-          <value field="address_code">'AO'</value>
-          <value field="address_name">'Angola'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000007</value>
+          <value field="address_code" type="string(2)">AO</value>
+          <value field="address_name" type="string(35)">Angola</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000008'</value>
-          <value field="address_code">'AI'</value>
-          <value field="address_name">'Anguilla'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000008</value>
+          <value field="address_code" type="string(2)">AI</value>
+          <value field="address_name" type="string(35)">Anguilla</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000009'</value>
-          <value field="address_code">'AQ'</value>
-          <value field="address_name">'Antarctica'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000009</value>
+          <value field="address_code" type="string(2)">AQ</value>
+          <value field="address_name" type="string(35)">Antarctica</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000000A'</value>
-          <value field="address_code">'AG'</value>
-          <value field="address_name">'Antigua And Barbuda'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000000A</value>
+          <value field="address_code" type="string(2)">AG</value>
+          <value field="address_name" type="string(35)">Antigua And 
Barbuda</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000000B'</value>
-          <value field="address_code">'AR'</value>
-          <value field="address_name">'Argentina'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000000B</value>
+          <value field="address_code" type="string(2)">AR</value>
+          <value field="address_name" type="string(35)">Argentina</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000000C'</value>
-          <value field="address_code">'AM'</value>
-          <value field="address_name">'Armenia'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000000C</value>
+          <value field="address_code" type="string(2)">AM</value>
+          <value field="address_name" type="string(35)">Armenia</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000000D'</value>
-          <value field="address_code">'AW'</value>
-          <value field="address_name">'Aruba'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000000D</value>
+          <value field="address_code" type="string(2)">AW</value>
+          <value field="address_name" type="string(35)">Aruba</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000000E'</value>
-          <value field="address_code">'AU'</value>
-          <value field="address_name">'Australia'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000000E</value>
+          <value field="address_code" type="string(2)">AU</value>
+          <value field="address_name" type="string(35)">Australia</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000000F'</value>
-          <value field="address_code">'AT'</value>
-          <value field="address_name">'Austria'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000000F</value>
+          <value field="address_code" type="string(2)">AT</value>
+          <value field="address_name" type="string(35)">Austria</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000010'</value>
-          <value field="address_code">'AZ'</value>
-          <value field="address_name">'Azerbaijan'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000010</value>
+          <value field="address_code" type="string(2)">AZ</value>
+          <value field="address_name" type="string(35)">Azerbaijan</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000011'</value>
-          <value field="address_code">'BS'</value>
-          <value field="address_name">'Bahamas'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000011</value>
+          <value field="address_code" type="string(2)">BS</value>
+          <value field="address_name" type="string(35)">Bahamas</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000012'</value>
-          <value field="address_code">'BH'</value>
-          <value field="address_name">'Bahrain'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000012</value>
+          <value field="address_code" type="string(2)">BH</value>
+          <value field="address_name" type="string(35)">Bahrain</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000013'</value>
-          <value field="address_code">'BD'</value>
-          <value field="address_name">'Bangladesh'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000013</value>
+          <value field="address_code" type="string(2)">BD</value>
+          <value field="address_name" type="string(35)">Bangladesh</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000014'</value>
-          <value field="address_code">'BB'</value>
-          <value field="address_name">'Barbados'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000014</value>
+          <value field="address_code" type="string(2)">BB</value>
+          <value field="address_name" type="string(35)">Barbados</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000015'</value>
-          <value field="address_code">'BY'</value>
-          <value field="address_name">'Belarus'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000015</value>
+          <value field="address_code" type="string(2)">BY</value>
+          <value field="address_name" type="string(35)">Belarus</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000016'</value>
-          <value field="address_code">'BE'</value>
-          <value field="address_name">'Belgium'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000016</value>
+          <value field="address_code" type="string(2)">BE</value>
+          <value field="address_name" type="string(35)">Belgium</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000017'</value>
-          <value field="address_code">'BZ'</value>
-          <value field="address_name">'Belize'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000017</value>
+          <value field="address_code" type="string(2)">BZ</value>
+          <value field="address_name" type="string(35)">Belize</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000018'</value>
-          <value field="address_code">'BJ'</value>
-          <value field="address_name">'Benin'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000018</value>
+          <value field="address_code" type="string(2)">BJ</value>
+          <value field="address_name" type="string(35)">Benin</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000019'</value>
-          <value field="address_code">'BM'</value>
-          <value field="address_name">'Bermuda'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000019</value>
+          <value field="address_code" type="string(2)">BM</value>
+          <value field="address_name" type="string(35)">Bermuda</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000001A'</value>
-          <value field="address_code">'BT'</value>
-          <value field="address_name">'Bhutan'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000001A</value>
+          <value field="address_code" type="string(2)">BT</value>
+          <value field="address_name" type="string(35)">Bhutan</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000001B'</value>
-          <value field="address_code">'BO'</value>
-          <value field="address_name">'Bolivia'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000001B</value>
+          <value field="address_code" type="string(2)">BO</value>
+          <value field="address_name" type="string(35)">Bolivia</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000001C'</value>
-          <value field="address_code">'BA'</value>
-          <value field="address_name">'Bosnia And Herzegovina'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000001C</value>
+          <value field="address_code" type="string(2)">BA</value>
+          <value field="address_name" type="string(35)">Bosnia And 
Herzegovina</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000001D'</value>
-          <value field="address_code">'BW'</value>
-          <value field="address_name">'Botswana'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000001D</value>
+          <value field="address_code" type="string(2)">BW</value>
+          <value field="address_name" type="string(35)">Botswana</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000001E'</value>
-          <value field="address_code">'BV'</value>
-          <value field="address_name">'Bouvet Island'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000001E</value>
+          <value field="address_code" type="string(2)">BV</value>
+          <value field="address_name" type="string(35)">Bouvet Island</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000001F'</value>
-          <value field="address_code">'BR'</value>
-          <value field="address_name">'Brazil'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000001F</value>
+          <value field="address_code" type="string(2)">BR</value>
+          <value field="address_name" type="string(35)">Brazil</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000020'</value>
-          <value field="address_code">'IO'</value>
-          <value field="address_name">'British Indian Ocean Territory'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000020</value>
+          <value field="address_code" type="string(2)">IO</value>
+          <value field="address_name" type="string(35)">British Indian Ocean 
Territory</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000021'</value>
-          <value field="address_code">'BN'</value>
-          <value field="address_name">'Brunei Darussalam'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000021</value>
+          <value field="address_code" type="string(2)">BN</value>
+          <value field="address_name" type="string(35)">Brunei 
Darussalam</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000022'</value>
-          <value field="address_code">'BG'</value>
-          <value field="address_name">'Bulgaria'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000022</value>
+          <value field="address_code" type="string(2)">BG</value>
+          <value field="address_name" type="string(35)">Bulgaria</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000023'</value>
-          <value field="address_code">'BF'</value>
-          <value field="address_name">'Burkina Faso'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000023</value>
+          <value field="address_code" type="string(2)">BF</value>
+          <value field="address_name" type="string(35)">Burkina Faso</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000024'</value>
-          <value field="address_code">'BI'</value>
-          <value field="address_name">'Burundi'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000024</value>
+          <value field="address_code" type="string(2)">BI</value>
+          <value field="address_name" type="string(35)">Burundi</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000025'</value>
-          <value field="address_code">'KH'</value>
-          <value field="address_name">'Cambodia'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000025</value>
+          <value field="address_code" type="string(2)">KH</value>
+          <value field="address_name" type="string(35)">Cambodia</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000026'</value>
-          <value field="address_code">'CM'</value>
-          <value field="address_name">'Cameroon'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000026</value>
+          <value field="address_code" type="string(2)">CM</value>
+          <value field="address_name" type="string(35)">Cameroon</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000027'</value>
-          <value field="address_code">'CA'</value>
-          <value field="address_name">'Canada'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000027</value>
+          <value field="address_code" type="string(2)">CA</value>
+          <value field="address_name" type="string(35)">Canada</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000028'</value>
-          <value field="address_code">'CV'</value>
-          <value field="address_name">'Cape Verde'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000028</value>
+          <value field="address_code" type="string(2)">CV</value>
+          <value field="address_name" type="string(35)">Cape Verde</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000029'</value>
-          <value field="address_code">'KY'</value>
-          <value field="address_name">'Cayman Islands'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000029</value>
+          <value field="address_code" type="string(2)">KY</value>
+          <value field="address_name" type="string(35)">Cayman Islands</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000002A'</value>
-          <value field="address_code">'CF'</value>
-          <value field="address_name">'Central African Republic'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000002A</value>
+          <value field="address_code" type="string(2)">CF</value>
+          <value field="address_name" type="string(35)">Central African 
Republic</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000002B'</value>
-          <value field="address_code">'TD'</value>
-          <value field="address_name">'Chad'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000002B</value>
+          <value field="address_code" type="string(2)">TD</value>
+          <value field="address_name" type="string(35)">Chad</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000002C'</value>
-          <value field="address_code">'CL'</value>
-          <value field="address_name">'Chile'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000002C</value>
+          <value field="address_code" type="string(2)">CL</value>
+          <value field="address_name" type="string(35)">Chile</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000002D'</value>
-          <value field="address_code">'CN'</value>
-          <value field="address_name">'China'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000002D</value>
+          <value field="address_code" type="string(2)">CN</value>
+          <value field="address_name" type="string(35)">China</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000002E'</value>
-          <value field="address_code">'CX'</value>
-          <value field="address_name">'Christmas Island'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000002E</value>
+          <value field="address_code" type="string(2)">CX</value>
+          <value field="address_name" type="string(35)">Christmas 
Island</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000002F'</value>
-          <value field="address_code">'CC'</value>
-          <value field="address_name">'Cocos (Keeling) Islands'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000002F</value>
+          <value field="address_code" type="string(2)">CC</value>
+          <value field="address_name" type="string(35)">Cocos (Keeling) 
Islands</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000030'</value>
-          <value field="address_code">'CO'</value>
-          <value field="address_name">'Colombia'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000030</value>
+          <value field="address_code" type="string(2)">CO</value>
+          <value field="address_name" type="string(35)">Colombia</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000031'</value>
-          <value field="address_code">'KM'</value>
-          <value field="address_name">'Comoros'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000031</value>
+          <value field="address_code" type="string(2)">KM</value>
+          <value field="address_name" type="string(35)">Comoros</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000032'</value>
-          <value field="address_code">'CG'</value>
-          <value field="address_name">'Congo'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000032</value>
+          <value field="address_code" type="string(2)">CG</value>
+          <value field="address_name" type="string(35)">Congo</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000033'</value>
-          <value field="address_code">'CD'</value>
-          <value field="address_name">'Congo, The Democratic Republic Of 
T'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000033</value>
+          <value field="address_code" type="string(2)">CD</value>
+          <value field="address_name" type="string(35)">Congo, The Democratic 
Republic Of T</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000034'</value>
-          <value field="address_code">'CK'</value>
-          <value field="address_name">'Cook Islands'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000034</value>
+          <value field="address_code" type="string(2)">CK</value>
+          <value field="address_name" type="string(35)">Cook Islands</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000035'</value>
-          <value field="address_code">'CR'</value>
-          <value field="address_name">'Costa Rica'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000035</value>
+          <value field="address_code" type="string(2)">CR</value>
+          <value field="address_name" type="string(35)">Costa Rica</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000036'</value>
-          <value field="address_code">'CI'</value>
-          <value field="address_name">'Cote D\'Ivoire'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000036</value>
+          <value field="address_code" type="string(2)">CI</value>
+          <value field="address_name" type="string(35)">Côte D'Ivoire</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000037'</value>
-          <value field="address_code">'HR'</value>
-          <value field="address_name">'Croatia'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000037</value>
+          <value field="address_code" type="string(2)">HR</value>
+          <value field="address_name" type="string(35)">Croatia</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000038'</value>
-          <value field="address_code">'CU'</value>
-          <value field="address_name">'Cuba'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000038</value>
+          <value field="address_code" type="string(2)">CU</value>
+          <value field="address_name" type="string(35)">Cuba</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000039'</value>
-          <value field="address_code">'CY'</value>
-          <value field="address_name">'Cyprus'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000039</value>
+          <value field="address_code" type="string(2)">CY</value>
+          <value field="address_name" type="string(35)">Cyprus</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000003A'</value>
-          <value field="address_code">'CZ'</value>
-          <value field="address_name">'Czech Republic'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000003A</value>
+          <value field="address_code" type="string(2)">CZ</value>
+          <value field="address_name" type="string(35)">Czech Republic</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000003B'</value>
-          <value field="address_code">'DK'</value>
-          <value field="address_name">'Denmark'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000003B</value>
+          <value field="address_code" type="string(2)">DK</value>
+          <value field="address_name" type="string(35)">Denmark</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000003C'</value>
-          <value field="address_code">'DJ'</value>
-          <value field="address_name">'Djibouti'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000003C</value>
+          <value field="address_code" type="string(2)">DJ</value>
+          <value field="address_name" type="string(35)">Djibouti</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000003D'</value>
-          <value field="address_code">'DM'</value>
-          <value field="address_name">'Dominica'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000003D</value>
+          <value field="address_code" type="string(2)">DM</value>
+          <value field="address_name" type="string(35)">Dominica</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000003E'</value>
-          <value field="address_code">'DO'</value>
-          <value field="address_name">'Dominican Republic'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000003E</value>
+          <value field="address_code" type="string(2)">DO</value>
+          <value field="address_name" type="string(35)">Dominican 
Republic</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000003F'</value>
-          <value field="address_code">'EC'</value>
-          <value field="address_name">'Ecuador'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000003F</value>
+          <value field="address_code" type="string(2)">EC</value>
+          <value field="address_name" type="string(35)">Ecuador</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000040'</value>
-          <value field="address_code">'EG'</value>
-          <value field="address_name">'Egypt'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000040</value>
+          <value field="address_code" type="string(2)">EG</value>
+          <value field="address_name" type="string(35)">Egypt</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000041'</value>
-          <value field="address_code">'SV'</value>
-          <value field="address_name">'El Salvador'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000041</value>
+          <value field="address_code" type="string(2)">SV</value>
+          <value field="address_name" type="string(35)">El Salvador</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000042'</value>
-          <value field="address_code">'GQ'</value>
-          <value field="address_name">'Equatorial Guinea'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000042</value>
+          <value field="address_code" type="string(2)">GQ</value>
+          <value field="address_name" type="string(35)">Equatorial 
Guinea</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000043'</value>
-          <value field="address_code">'ER'</value>
-          <value field="address_name">'Eritrea'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000043</value>
+          <value field="address_code" type="string(2)">ER</value>
+          <value field="address_name" type="string(35)">Eritrea</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000044'</value>
-          <value field="address_code">'EE'</value>
-          <value field="address_name">'Estonia'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000044</value>
+          <value field="address_code" type="string(2)">EE</value>
+          <value field="address_name" type="string(35)">Estonia</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000045'</value>
-          <value field="address_code">'ET'</value>
-          <value field="address_name">'Ethiopia'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000045</value>
+          <value field="address_code" type="string(2)">ET</value>
+          <value field="address_name" type="string(35)">Ethiopia</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000046'</value>
-          <value field="address_code">'FK'</value>
-          <value field="address_name">'Falkland Islands (Malvinas)'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000046</value>
+          <value field="address_code" type="string(2)">FK</value>
+          <value field="address_name" type="string(35)">Falkland Islands 
(Malvinas)</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000047'</value>
-          <value field="address_code">'FO'</value>
-          <value field="address_name">'Faroe Islands'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000047</value>
+          <value field="address_code" type="string(2)">FO</value>
+          <value field="address_name" type="string(35)">Faroe Islands</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000048'</value>
-          <value field="address_code">'FJ'</value>
-          <value field="address_name">'Fiji'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000048</value>
+          <value field="address_code" type="string(2)">FJ</value>
+          <value field="address_name" type="string(35)">Fiji</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000049'</value>
-          <value field="address_code">'FI'</value>
-          <value field="address_name">'Finland'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000049</value>
+          <value field="address_code" type="string(2)">FI</value>
+          <value field="address_name" type="string(35)">Finland</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000004A'</value>
-          <value field="address_code">'FR'</value>
-          <value field="address_name">'France'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000004A</value>
+          <value field="address_code" type="string(2)">FR</value>
+          <value field="address_name" type="string(35)">France</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000004B'</value>
-          <value field="address_code">'GF'</value>
-          <value field="address_name">'French Guiana'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000004B</value>
+          <value field="address_code" type="string(2)">GF</value>
+          <value field="address_name" type="string(35)">French Guiana</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000004C'</value>
-          <value field="address_code">'PF'</value>
-          <value field="address_name">'French Polynesia'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000004C</value>
+          <value field="address_code" type="string(2)">PF</value>
+          <value field="address_name" type="string(35)">French 
Polynesia</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000004D'</value>
-          <value field="address_code">'TF'</value>
-          <value field="address_name">'French Southern Territories'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000004D</value>
+          <value field="address_code" type="string(2)">TF</value>
+          <value field="address_name" type="string(35)">French Southern 
Territories</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000004E'</value>
-          <value field="address_code">'GA'</value>
-          <value field="address_name">'Gabon'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000004E</value>
+          <value field="address_code" type="string(2)">GA</value>
+          <value field="address_name" type="string(35)">Gabon</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000004F'</value>
-          <value field="address_code">'GM'</value>
-          <value field="address_name">'Gambia'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000004F</value>
+          <value field="address_code" type="string(2)">GM</value>
+          <value field="address_name" type="string(35)">Gambia</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000050'</value>
-          <value field="address_code">'GE'</value>
-          <value field="address_name">'Georgia'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000050</value>
+          <value field="address_code" type="string(2)">GE</value>
+          <value field="address_name" type="string(35)">Georgia</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000051'</value>
-          <value field="address_code">'DE'</value>
-          <value field="address_name">'Germany'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000051</value>
+          <value field="address_code" type="string(2)">DE</value>
+          <value field="address_name" type="string(35)">Germany</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000052'</value>
-          <value field="address_code">'GH'</value>
-          <value field="address_name">'Ghana'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000052</value>
+          <value field="address_code" type="string(2)">GH</value>
+          <value field="address_name" type="string(35)">Ghana</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000053'</value>
-          <value field="address_code">'GI'</value>
-          <value field="address_name">'Gibraltar'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000053</value>
+          <value field="address_code" type="string(2)">GI</value>
+          <value field="address_name" type="string(35)">Gibraltar</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000054'</value>
-          <value field="address_code">'GR'</value>
-          <value field="address_name">'Greece'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000054</value>
+          <value field="address_code" type="string(2)">GR</value>
+          <value field="address_name" type="string(35)">Greece</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000055'</value>
-          <value field="address_code">'GL'</value>
-          <value field="address_name">'Greenland'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000055</value>
+          <value field="address_code" type="string(2)">GL</value>
+          <value field="address_name" type="string(35)">Greenland</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000056'</value>
-          <value field="address_code">'GD'</value>
-          <value field="address_name">'Grenada'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000056</value>
+          <value field="address_code" type="string(2)">GD</value>
+          <value field="address_name" type="string(35)">Grenada</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000057'</value>
-          <value field="address_code">'GP'</value>
-          <value field="address_name">'Guadeloupe'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000057</value>
+          <value field="address_code" type="string(2)">GP</value>
+          <value field="address_name" type="string(35)">Guadeloupe</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000058'</value>
-          <value field="address_code">'GU'</value>
-          <value field="address_name">'Guam'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000058</value>
+          <value field="address_code" type="string(2)">GU</value>
+          <value field="address_name" type="string(35)">Guam</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000059'</value>
-          <value field="address_code">'GT'</value>
-          <value field="address_name">'Guatemala'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000059</value>
+          <value field="address_code" type="string(2)">GT</value>
+          <value field="address_name" type="string(35)">Guatemala</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000005A'</value>
-          <value field="address_code">'GN'</value>
-          <value field="address_name">'Guinea'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000005A</value>
+          <value field="address_code" type="string(2)">GN</value>
+          <value field="address_name" type="string(35)">Guinea</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000005B'</value>
-          <value field="address_code">'GW'</value>
-          <value field="address_name">'Guinea-Bissau'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000005B</value>
+          <value field="address_code" type="string(2)">GW</value>
+          <value field="address_name" type="string(35)">Guinea-Bissau</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000005C'</value>
-          <value field="address_code">'GY'</value>
-          <value field="address_name">'Guyana'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000005C</value>
+          <value field="address_code" type="string(2)">GY</value>
+          <value field="address_name" type="string(35)">Guyana</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000005D'</value>
-          <value field="address_code">'HT'</value>
-          <value field="address_name">'Haiti'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000005D</value>
+          <value field="address_code" type="string(2)">HT</value>
+          <value field="address_name" type="string(35)">Haiti</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000005E'</value>
-          <value field="address_code">'HM'</value>
-          <value field="address_name">'Heard Island And Mcdonald 
Islands'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000005E</value>
+          <value field="address_code" type="string(2)">HM</value>
+          <value field="address_name" type="string(35)">Heard Island And 
Mcdonald Islands</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000005F'</value>
-          <value field="address_code">'VA'</value>
-          <value field="address_name">'Holy See (Vatican City State)'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000005F</value>
+          <value field="address_code" type="string(2)">VA</value>
+          <value field="address_name" type="string(35)">Holy See (Vatican City 
State)</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000060'</value>
-          <value field="address_code">'HN'</value>
-          <value field="address_name">'Honduras'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000060</value>
+          <value field="address_code" type="string(2)">HN</value>
+          <value field="address_name" type="string(35)">Honduras</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000061'</value>
-          <value field="address_code">'HK'</value>
-          <value field="address_name">'Hong Kong'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000061</value>
+          <value field="address_code" type="string(2)">HK</value>
+          <value field="address_name" type="string(35)">Hong Kong</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000062'</value>
-          <value field="address_code">'HU'</value>
-          <value field="address_name">'Hungary'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000062</value>
+          <value field="address_code" type="string(2)">HU</value>
+          <value field="address_name" type="string(35)">Hungary</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000063'</value>
-          <value field="address_code">'IS'</value>
-          <value field="address_name">'Iceland'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000063</value>
+          <value field="address_code" type="string(2)">IS</value>
+          <value field="address_name" type="string(35)">Iceland</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000064'</value>
-          <value field="address_code">'IN'</value>
-          <value field="address_name">'India'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000064</value>
+          <value field="address_code" type="string(2)">IN</value>
+          <value field="address_name" type="string(35)">India</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000065'</value>
-          <value field="address_code">'ID'</value>
-          <value field="address_name">'Indonesia'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000065</value>
+          <value field="address_code" type="string(2)">ID</value>
+          <value field="address_name" type="string(35)">Indonesia</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000066'</value>
-          <value field="address_code">'IR'</value>
-          <value field="address_name">'Iran, Islamic Republic Of'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000066</value>
+          <value field="address_code" type="string(2)">IR</value>
+          <value field="address_name" type="string(35)">Iran, Islamic Republic 
Of</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000067'</value>
-          <value field="address_code">'IQ'</value>
-          <value field="address_name">'Iraq'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000067</value>
+          <value field="address_code" type="string(2)">IQ</value>
+          <value field="address_name" type="string(35)">Iraq</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000068'</value>
-          <value field="address_code">'IE'</value>
-          <value field="address_name">'Ireland'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000068</value>
+          <value field="address_code" type="string(2)">IE</value>
+          <value field="address_name" type="string(35)">Ireland</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000069'</value>
-          <value field="address_code">'IL'</value>
-          <value field="address_name">'Israel'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000069</value>
+          <value field="address_code" type="string(2)">IL</value>
+          <value field="address_name" type="string(35)">Israel</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000006A'</value>
-          <value field="address_code">'IT'</value>
-          <value field="address_name">'Italy'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000006A</value>
+          <value field="address_code" type="string(2)">IT</value>
+          <value field="address_name" type="string(35)">Italy</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000006B'</value>
-          <value field="address_code">'JM'</value>
-          <value field="address_name">'Jamaica'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000006B</value>
+          <value field="address_code" type="string(2)">JM</value>
+          <value field="address_name" type="string(35)">Jamaica</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000006C'</value>
-          <value field="address_code">'JP'</value>
-          <value field="address_name">'Japan'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000006C</value>
+          <value field="address_code" type="string(2)">JP</value>
+          <value field="address_name" type="string(35)">Japan</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000006D'</value>
-          <value field="address_code">'JO'</value>
-          <value field="address_name">'Jordan'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000006D</value>
+          <value field="address_code" type="string(2)">JO</value>
+          <value field="address_name" type="string(35)">Jordan</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000006E'</value>
-          <value field="address_code">'KZ'</value>
-          <value field="address_name">'Kazakhstan'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000006E</value>
+          <value field="address_code" type="string(2)">KZ</value>
+          <value field="address_name" type="string(35)">Kazakhstan</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000006F'</value>
-          <value field="address_code">'KE'</value>
-          <value field="address_name">'Kenya'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000006F</value>
+          <value field="address_code" type="string(2)">KE</value>
+          <value field="address_name" type="string(35)">Kenya</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000070'</value>
-          <value field="address_code">'KI'</value>
-          <value field="address_name">'Kiribati'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000070</value>
+          <value field="address_code" type="string(2)">KI</value>
+          <value field="address_name" type="string(35)">Kiribati</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000071'</value>
-          <value field="address_code">'KP'</value>
-          <value field="address_name">'Korea, Democratic People s 
Republic'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000071</value>
+          <value field="address_code" type="string(2)">KP</value>
+          <value field="address_name" type="string(35)">Korea, Democratic 
People's Republic</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000072'</value>
-          <value field="address_code">'KR'</value>
-          <value field="address_name">'Korea, Republic Of'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000072</value>
+          <value field="address_code" type="string(2)">KR</value>
+          <value field="address_name" type="string(35)">Korea, Republic 
Of</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000073'</value>
-          <value field="address_code">'KW'</value>
-          <value field="address_name">'Kuwait'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000073</value>
+          <value field="address_code" type="string(2)">KW</value>
+          <value field="address_name" type="string(35)">Kuwait</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000074'</value>
-          <value field="address_code">'KG'</value>
-          <value field="address_name">'Kyrgyzstan'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000074</value>
+          <value field="address_code" type="string(2)">KG</value>
+          <value field="address_name" type="string(35)">Kyrgyzstan</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000075'</value>
-          <value field="address_code">'LA'</value>
-          <value field="address_name">'Lao People s Democratic 
Republic'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000075</value>
+          <value field="address_code" type="string(2)">LA</value>
+          <value field="address_name" type="string(35)">Lao People's 
Democratic Republic</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000076'</value>
-          <value field="address_code">'LV'</value>
-          <value field="address_name">'Latvia'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000076</value>
+          <value field="address_code" type="string(2)">LV</value>
+          <value field="address_name" type="string(35)">Latvia</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000077'</value>
-          <value field="address_code">'LB'</value>
-          <value field="address_name">'Lebanon'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000077</value>
+          <value field="address_code" type="string(2)">LB</value>
+          <value field="address_name" type="string(35)">Lebanon</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000078'</value>
-          <value field="address_code">'LS'</value>
-          <value field="address_name">'Lesotho'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000078</value>
+          <value field="address_code" type="string(2)">LS</value>
+          <value field="address_name" type="string(35)">Lesotho</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000079'</value>
-          <value field="address_code">'LR'</value>
-          <value field="address_name">'Liberia'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000079</value>
+          <value field="address_code" type="string(2)">LR</value>
+          <value field="address_name" type="string(35)">Liberia</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000007A'</value>
-          <value field="address_code">'LY'</value>
-          <value field="address_name">'Libyan Arab Jamahiriya'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000007A</value>
+          <value field="address_code" type="string(2)">LY</value>
+          <value field="address_name" type="string(35)">Libyan Arab 
Jamahiriya</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000007B'</value>
-          <value field="address_code">'LI'</value>
-          <value field="address_name">'Liechtenstein'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000007B</value>
+          <value field="address_code" type="string(2)">LI</value>
+          <value field="address_name" type="string(35)">Liechtenstein</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000007C'</value>
-          <value field="address_code">'LT'</value>
-          <value field="address_name">'Lithuania'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000007C</value>
+          <value field="address_code" type="string(2)">LT</value>
+          <value field="address_name" type="string(35)">Lithuania</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000007D'</value>
-          <value field="address_code">'LU'</value>
-          <value field="address_name">'Luxembourg'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000007D</value>
+          <value field="address_code" type="string(2)">LU</value>
+          <value field="address_name" type="string(35)">Luxembourg</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000007E'</value>
-          <value field="address_code">'MO'</value>
-          <value field="address_name">'Macao'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000007E</value>
+          <value field="address_code" type="string(2)">MO</value>
+          <value field="address_name" type="string(35)">Macao</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000007F'</value>
-          <value field="address_code">'MK'</value>
-          <value field="address_name">'Macedonia, The Former Yugoslav 
Repu'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000007F</value>
+          <value field="address_code" type="string(2)">MK</value>
+          <value field="address_name" type="string(35)">Macedonia, The Former 
Yugoslav Repu</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000080'</value>
-          <value field="address_code">'MG'</value>
-          <value field="address_name">'Madagascar'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000080</value>
+          <value field="address_code" type="string(2)">MG</value>
+          <value field="address_name" type="string(35)">Madagascar</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000081'</value>
-          <value field="address_code">'MW'</value>
-          <value field="address_name">'Malawi'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000081</value>
+          <value field="address_code" type="string(2)">MW</value>
+          <value field="address_name" type="string(35)">Malawi</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000082'</value>
-          <value field="address_code">'MY'</value>
-          <value field="address_name">'Malaysia'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000082</value>
+          <value field="address_code" type="string(2)">MY</value>
+          <value field="address_name" type="string(35)">Malaysia</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000083'</value>
-          <value field="address_code">'MV'</value>
-          <value field="address_name">'Maldives'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000083</value>
+          <value field="address_code" type="string(2)">MV</value>
+          <value field="address_name" type="string(35)">Maldives</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000084'</value>
-          <value field="address_code">'ML'</value>
-          <value field="address_name">'Mali'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000084</value>
+          <value field="address_code" type="string(2)">ML</value>
+          <value field="address_name" type="string(35)">Mali</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000085'</value>
-          <value field="address_code">'MT'</value>
-          <value field="address_name">'Malta'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000085</value>
+          <value field="address_code" type="string(2)">MT</value>
+          <value field="address_name" type="string(35)">Malta</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000086'</value>
-          <value field="address_code">'MH'</value>
-          <value field="address_name">'Marshall Islands'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000086</value>
+          <value field="address_code" type="string(2)">MH</value>
+          <value field="address_name" type="string(35)">Marshall 
Islands</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000087'</value>
-          <value field="address_code">'MQ'</value>
-          <value field="address_name">'Martinique'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000087</value>
+          <value field="address_code" type="string(2)">MQ</value>
+          <value field="address_name" type="string(35)">Martinique</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000088'</value>
-          <value field="address_code">'MR'</value>
-          <value field="address_name">'Mauritania'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000088</value>
+          <value field="address_code" type="string(2)">MR</value>
+          <value field="address_name" type="string(35)">Mauritania</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000089'</value>
-          <value field="address_code">'MU'</value>
-          <value field="address_name">'Mauritius'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000089</value>
+          <value field="address_code" type="string(2)">MU</value>
+          <value field="address_name" type="string(35)">Mauritius</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000008A'</value>
-          <value field="address_code">'YT'</value>
-          <value field="address_name">'Mayotte'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000008A</value>
+          <value field="address_code" type="string(2)">YT</value>
+          <value field="address_name" type="string(35)">Mayotte</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000008B'</value>
-          <value field="address_code">'MX'</value>
-          <value field="address_name">'Mexico'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000008B</value>
+          <value field="address_code" type="string(2)">MX</value>
+          <value field="address_name" type="string(35)">Mexico</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000008C'</value>
-          <value field="address_code">'FM'</value>
-          <value field="address_name">'Micronesia, Federated States Of'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000008C</value>
+          <value field="address_code" type="string(2)">FM</value>
+          <value field="address_name" type="string(35)">Micronesia, Federated 
States Of</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000008D'</value>
-          <value field="address_code">'MD'</value>
-          <value field="address_name">'Moldova, Republic Of'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000008D</value>
+          <value field="address_code" type="string(2)">MD</value>
+          <value field="address_name" type="string(35)">Moldova, Republic 
Of</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000008E'</value>
-          <value field="address_code">'MC'</value>
-          <value field="address_name">'Monaco'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000008E</value>
+          <value field="address_code" type="string(2)">MC</value>
+          <value field="address_name" type="string(35)">Monaco</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000008F'</value>
-          <value field="address_code">'MN'</value>
-          <value field="address_name">'Mongolia'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000008F</value>
+          <value field="address_code" type="string(2)">MN</value>
+          <value field="address_name" type="string(35)">Mongolia</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000090'</value>
-          <value field="address_code">'MS'</value>
-          <value field="address_name">'Montserrat'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000090</value>
+          <value field="address_code" type="string(2)">MS</value>
+          <value field="address_name" type="string(35)">Montserrat</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000091'</value>
-          <value field="address_code">'MA'</value>
-          <value field="address_name">'Morocco'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000091</value>
+          <value field="address_code" type="string(2)">MA</value>
+          <value field="address_name" type="string(35)">Morocco</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000092'</value>
-          <value field="address_code">'MZ'</value>
-          <value field="address_name">'Mozambique'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000092</value>
+          <value field="address_code" type="string(2)">MZ</value>
+          <value field="address_name" type="string(35)">Mozambique</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000093'</value>
-          <value field="address_code">'MM'</value>
-          <value field="address_name">'Myanmar'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000093</value>
+          <value field="address_code" type="string(2)">MM</value>
+          <value field="address_name" type="string(35)">Myanmar</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000094'</value>
-          <value field="address_code">'NA'</value>
-          <value field="address_name">'Namibia'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000094</value>
+          <value field="address_code" type="string(2)">NA</value>
+          <value field="address_name" type="string(35)">Namibia</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000095'</value>
-          <value field="address_code">'NR'</value>
-          <value field="address_name">'Nauru'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000095</value>
+          <value field="address_code" type="string(2)">NR</value>
+          <value field="address_name" type="string(35)">Nauru</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000096'</value>
-          <value field="address_code">'NP'</value>
-          <value field="address_name">'Nepal'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000096</value>
+          <value field="address_code" type="string(2)">NP</value>
+          <value field="address_name" type="string(35)">Nepal</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000097'</value>
-          <value field="address_code">'NL'</value>
-          <value field="address_name">'Netherlands'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000097</value>
+          <value field="address_code" type="string(2)">NL</value>
+          <value field="address_name" type="string(35)">Netherlands</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000098'</value>
-          <value field="address_code">'AN'</value>
-          <value field="address_name">'Netherlands Antilles'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000098</value>
+          <value field="address_code" type="string(2)">AN</value>
+          <value field="address_name" type="string(35)">Netherlands 
Antilles</value>
         </row>
         <row>
-          <value field="gnue_id">'00000000000000000000002000000099'</value>
-          <value field="address_code">'NC'</value>
-          <value field="address_name">'New Caledonia'</value>
+          <value field="gnue_id" 
type="string(32)">00000000000000000000002000000099</value>
+          <value field="address_code" type="string(2)">NC</value>
+          <value field="address_name" type="string(35)">New Caledonia</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000009A'</value>
-          <value field="address_code">'NZ'</value>
-          <value field="address_name">'New Zealand'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000009A</value>
+          <value field="address_code" type="string(2)">NZ</value>
+          <value field="address_name" type="string(35)">New Zealand</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000009B'</value>
-          <value field="address_code">'NI'</value>
-          <value field="address_name">'Nicaragua'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000009B</value>
+          <value field="address_code" type="string(2)">NI</value>
+          <value field="address_name" type="string(35)">Nicaragua</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000009C'</value>
-          <value field="address_code">'NE'</value>
-          <value field="address_name">'Niger'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000009C</value>
+          <value field="address_code" type="string(2)">NE</value>
+          <value field="address_name" type="string(35)">Niger</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000009D'</value>
-          <value field="address_code">'NG'</value>
-          <value field="address_name">'Nigeria'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000009D</value>
+          <value field="address_code" type="string(2)">NG</value>
+          <value field="address_name" type="string(35)">Nigeria</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000009E'</value>
-          <value field="address_code">'NU'</value>
-          <value field="address_name">'Niue'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000009E</value>
+          <value field="address_code" type="string(2)">NU</value>
+          <value field="address_name" type="string(35)">Niue</value>
         </row>
         <row>
-          <value field="gnue_id">'0000000000000000000000200000009F'</value>
-          <value field="address_code">'NF'</value>
-          <value field="address_name">'Norfolk Island'</value>
+          <value field="gnue_id" 
type="string(32)">0000000000000000000000200000009F</value>
+          <value field="address_code" type="string(2)">NF</value>
+          <value field="address_name" type="string(35)">Norfolk Island</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000A0'</value>
-          <value field="address_code">'MP'</value>
-          <value field="address_name">'Northern Mariana Islands'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000A0</value>
+          <value field="address_code" type="string(2)">MP</value>
+          <value field="address_name" type="string(35)">Northern Mariana 
Islands</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000A1'</value>
-          <value field="address_code">'NO'</value>
-          <value field="address_name">'Norway'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000A1</value>
+          <value field="address_code" type="string(2)">NO</value>
+          <value field="address_name" type="string(35)">Norway</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000A2'</value>
-          <value field="address_code">'OM'</value>
-          <value field="address_name">'Oman'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000A2</value>
+          <value field="address_code" type="string(2)">OM</value>
+          <value field="address_name" type="string(35)">Oman</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000A3'</value>
-          <value field="address_code">'PK'</value>
-          <value field="address_name">'Pakistan'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000A3</value>
+          <value field="address_code" type="string(2)">PK</value>
+          <value field="address_name" type="string(35)">Pakistan</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000A4'</value>
-          <value field="address_code">'PW'</value>
-          <value field="address_name">'Palau'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000A4</value>
+          <value field="address_code" type="string(2)">PW</value>
+          <value field="address_name" type="string(35)">Palau</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000A5'</value>
-          <value field="address_code">'PS'</value>
-          <value field="address_name">'Palestinian Territory, Occupied'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000A5</value>
+          <value field="address_code" type="string(2)">PS</value>
+          <value field="address_name" type="string(35)">Palestinian Territory, 
Occupied</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000A6'</value>
-          <value field="address_code">'PA'</value>
-          <value field="address_name">'Panama'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000A6</value>
+          <value field="address_code" type="string(2)">PA</value>
+          <value field="address_name" type="string(35)">Panama</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000A7'</value>
-          <value field="address_code">'PG'</value>
-          <value field="address_name">'Papua New Guinea'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000A7</value>
+          <value field="address_code" type="string(2)">PG</value>
+          <value field="address_name" type="string(35)">Papua New 
Guinea</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000A8'</value>
-          <value field="address_code">'PY'</value>
-          <value field="address_name">'Paraguay'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000A8</value>
+          <value field="address_code" type="string(2)">PY</value>
+          <value field="address_name" type="string(35)">Paraguay</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000A9'</value>
-          <value field="address_code">'PE'</value>
-          <value field="address_name">'Peru'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000A9</value>
+          <value field="address_code" type="string(2)">PE</value>
+          <value field="address_name" type="string(35)">Peru</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000AA'</value>
-          <value field="address_code">'PH'</value>
-          <value field="address_name">'Philippines'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000AA</value>
+          <value field="address_code" type="string(2)">PH</value>
+          <value field="address_name" type="string(35)">Philippines</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000AB'</value>
-          <value field="address_code">'PN'</value>
-          <value field="address_name">'Pitcairn'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000AB</value>
+          <value field="address_code" type="string(2)">PN</value>
+          <value field="address_name" type="string(35)">Pitcairn</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000AC'</value>
-          <value field="address_code">'PL'</value>
-          <value field="address_name">'Poland'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000AC</value>
+          <value field="address_code" type="string(2)">PL</value>
+          <value field="address_name" type="string(35)">Poland</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000AD'</value>
-          <value field="address_code">'PT'</value>
-          <value field="address_name">'Portugal'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000AD</value>
+          <value field="address_code" type="string(2)">PT</value>
+          <value field="address_name" type="string(35)">Portugal</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000AE'</value>
-          <value field="address_code">'PR'</value>
-          <value field="address_name">'Puerto Rico'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000AE</value>
+          <value field="address_code" type="string(2)">PR</value>
+          <value field="address_name" type="string(35)">Puerto Rico</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000AF'</value>
-          <value field="address_code">'QA'</value>
-          <value field="address_name">'Qatar'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000AF</value>
+          <value field="address_code" type="string(2)">QA</value>
+          <value field="address_name" type="string(35)">Qatar</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000B0'</value>
-          <value field="address_code">'RE'</value>
-          <value field="address_name">'Reunion'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000B0</value>
+          <value field="address_code" type="string(2)">RE</value>
+          <value field="address_name" type="string(35)">Réunion</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000B1'</value>
-          <value field="address_code">'RO'</value>
-          <value field="address_name">'Romania'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000B1</value>
+          <value field="address_code" type="string(2)">RO</value>
+          <value field="address_name" type="string(35)">Romania</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000B2'</value>
-          <value field="address_code">'RU'</value>
-          <value field="address_name">'Russian Federation'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000B2</value>
+          <value field="address_code" type="string(2)">RU</value>
+          <value field="address_name" type="string(35)">Russian 
Federation</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000B3'</value>
-          <value field="address_code">'RW'</value>
-          <value field="address_name">'Rwanda'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000B3</value>
+          <value field="address_code" type="string(2)">RW</value>
+          <value field="address_name" type="string(35)">Rwanda</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000B4'</value>
-          <value field="address_code">'SH'</value>
-          <value field="address_name">'Saint Helena'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000B4</value>
+          <value field="address_code" type="string(2)">SH</value>
+          <value field="address_name" type="string(35)">Saint Helena</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000B5'</value>
-          <value field="address_code">'KN'</value>
-          <value field="address_name">'Saint Kitts And Nevis'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000B5</value>
+          <value field="address_code" type="string(2)">KN</value>
+          <value field="address_name" type="string(35)">Saint Kitts And 
Nevis</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000B6'</value>
-          <value field="address_code">'LC'</value>
-          <value field="address_name">'Saint Lucia'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000B6</value>
+          <value field="address_code" type="string(2)">LC</value>
+          <value field="address_name" type="string(35)">Saint Lucia</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000B7'</value>
-          <value field="address_code">'PM'</value>
-          <value field="address_name">'Saint Pierre And Miquelon'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000B7</value>
+          <value field="address_code" type="string(2)">PM</value>
+          <value field="address_name" type="string(35)">Saint Pierre And 
Miquelon</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000B8'</value>
-          <value field="address_code">'VC'</value>
-          <value field="address_name">'Saint Vincent And The 
Grenadines'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000B8</value>
+          <value field="address_code" type="string(2)">VC</value>
+          <value field="address_name" type="string(35)">Saint Vincent And The 
Grenadines</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000B9'</value>
-          <value field="address_code">'WS'</value>
-          <value field="address_name">'Samoa'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000B9</value>
+          <value field="address_code" type="string(2)">WS</value>
+          <value field="address_name" type="string(35)">Samoa</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000BA'</value>
-          <value field="address_code">'SM'</value>
-          <value field="address_name">'San Marino'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000BA</value>
+          <value field="address_code" type="string(2)">SM</value>
+          <value field="address_name" type="string(35)">San Marino</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000BB'</value>
-          <value field="address_code">'ST'</value>
-          <value field="address_name">'Sao Tome And Principe'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000BB</value>
+          <value field="address_code" type="string(2)">ST</value>
+          <value field="address_name" type="string(35)">Sao Tome And 
Principe</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000BC'</value>
-          <value field="address_code">'SA'</value>
-          <value field="address_name">'Saudi Arabia'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000BC</value>
+          <value field="address_code" type="string(2)">SA</value>
+          <value field="address_name" type="string(35)">Saudi Arabia</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000BD'</value>
-          <value field="address_code">'SN'</value>
-          <value field="address_name">'Senegal'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000BD</value>
+          <value field="address_code" type="string(2)">SN</value>
+          <value field="address_name" type="string(35)">Senegal</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000BE'</value>
-          <value field="address_code">'CS'</value>
-          <value field="address_name">'Serbia And Montenegro'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000BE</value>
+          <value field="address_code" type="string(2)">CS</value>
+          <value field="address_name" type="string(35)">Serbia And 
Montenegro</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000BF'</value>
-          <value field="address_code">'SC'</value>
-          <value field="address_name">'Seychelles'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000BF</value>
+          <value field="address_code" type="string(2)">SC</value>
+          <value field="address_name" type="string(35)">Seychelles</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000C0'</value>
-          <value field="address_code">'SL'</value>
-          <value field="address_name">'Sierra Leone'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000C0</value>
+          <value field="address_code" type="string(2)">SL</value>
+          <value field="address_name" type="string(35)">Sierra Leone</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000C1'</value>
-          <value field="address_code">'SG'</value>
-          <value field="address_name">'Singapore'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000C1</value>
+          <value field="address_code" type="string(2)">SG</value>
+          <value field="address_name" type="string(35)">Singapore</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000C2'</value>
-          <value field="address_code">'SK'</value>
-          <value field="address_name">'Slovakia'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000C2</value>
+          <value field="address_code" type="string(2)">SK</value>
+          <value field="address_name" type="string(35)">Slovakia</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000C3'</value>
-          <value field="address_code">'SI'</value>
-          <value field="address_name">'Slovenia'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000C3</value>
+          <value field="address_code" type="string(2)">SI</value>
+          <value field="address_name" type="string(35)">Slovenia</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000C4'</value>
-          <value field="address_code">'SB'</value>
-          <value field="address_name">'Solomon Islands'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000C4</value>
+          <value field="address_code" type="string(2)">SB</value>
+          <value field="address_name" type="string(35)">Solomon Islands</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000C5'</value>
-          <value field="address_code">'SO'</value>
-          <value field="address_name">'Somalia'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000C5</value>
+          <value field="address_code" type="string(2)">SO</value>
+          <value field="address_name" type="string(35)">Somalia</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000C6'</value>
-          <value field="address_code">'ZA'</value>
-          <value field="address_name">'South Africa'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000C6</value>
+          <value field="address_code" type="string(2)">ZA</value>
+          <value field="address_name" type="string(35)">South Africa</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000C7'</value>
-          <value field="address_code">'GS'</value>
-          <value field="address_name">'South Georgia And The South 
Sandwic'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000C7</value>
+          <value field="address_code" type="string(2)">GS</value>
+          <value field="address_name" type="string(35)">South Georgia And The 
South Sandwic</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000C8'</value>
-          <value field="address_code">'ES'</value>
-          <value field="address_name">'Spain'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000C8</value>
+          <value field="address_code" type="string(2)">ES</value>
+          <value field="address_name" type="string(35)">Spain</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000C9'</value>
-          <value field="address_code">'LK'</value>
-          <value field="address_name">'Sri Lanka'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000C9</value>
+          <value field="address_code" type="string(2)">LK</value>
+          <value field="address_name" type="string(35)">Sri Lanka</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000CA'</value>
-          <value field="address_code">'SD'</value>
-          <value field="address_name">'Sudan'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000CA</value>
+          <value field="address_code" type="string(2)">SD</value>
+          <value field="address_name" type="string(35)">Sudan</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000CB'</value>
-          <value field="address_code">'SR'</value>
-          <value field="address_name">'Suriname'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000CB</value>
+          <value field="address_code" type="string(2)">SR</value>
+          <value field="address_name" type="string(35)">Suriname</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000CC'</value>
-          <value field="address_code">'SJ'</value>
-          <value field="address_name">'Svalbard And Jan Mayen'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000CC</value>
+          <value field="address_code" type="string(2)">SJ</value>
+          <value field="address_name" type="string(35)">Svalbard And Jan 
Mayen</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000CD'</value>
-          <value field="address_code">'SZ'</value>
-          <value field="address_name">'Swaziland'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000CD</value>
+          <value field="address_code" type="string(2)">SZ</value>
+          <value field="address_name" type="string(35)">Swaziland</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000CE'</value>
-          <value field="address_code">'SE'</value>
-          <value field="address_name">'Sweden'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000CE</value>
+          <value field="address_code" type="string(2)">SE</value>
+          <value field="address_name" type="string(35)">Sweden</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000CF'</value>
-          <value field="address_code">'CH'</value>
-          <value field="address_name">'Switzerland'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000CF</value>
+          <value field="address_code" type="string(2)">CH</value>
+          <value field="address_name" type="string(35)">Switzerland</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000D0'</value>
-          <value field="address_code">'SY'</value>
-          <value field="address_name">'Syrian Arab Republic'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000D0</value>
+          <value field="address_code" type="string(2)">SY</value>
+          <value field="address_name" type="string(35)">Syrian Arab 
Republic</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000D1'</value>
-          <value field="address_code">'TW'</value>
-          <value field="address_name">'Taiwan, Province Of China'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000D1</value>
+          <value field="address_code" type="string(2)">TW</value>
+          <value field="address_name" type="string(35)">Taiwan, Province Of 
China</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000D2'</value>
-          <value field="address_code">'TJ'</value>
-          <value field="address_name">'Tajikistan'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000D2</value>
+          <value field="address_code" type="string(2)">TJ</value>
+          <value field="address_name" type="string(35)">Tajikistan</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000D3'</value>
-          <value field="address_code">'TZ'</value>
-          <value field="address_name">'Tanzania, United Republic Of'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000D3</value>
+          <value field="address_code" type="string(2)">TZ</value>
+          <value field="address_name" type="string(35)">Tanzania, United 
Republic Of</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000D4'</value>
-          <value field="address_code">'TH'</value>
-          <value field="address_name">'Thailand'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000D4</value>
+          <value field="address_code" type="string(2)">TH</value>
+          <value field="address_name" type="string(35)">Thailand</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000D5'</value>
-          <value field="address_code">'TL'</value>
-          <value field="address_name">'Timor-Leste'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000D5</value>
+          <value field="address_code" type="string(2)">TL</value>
+          <value field="address_name" type="string(35)">Timor-Leste</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000D6'</value>
-          <value field="address_code">'TG'</value>
-          <value field="address_name">'Togo'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000D6</value>
+          <value field="address_code" type="string(2)">TG</value>
+          <value field="address_name" type="string(35)">Togo</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000D7'</value>
-          <value field="address_code">'TK'</value>
-          <value field="address_name">'Tokelau'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000D7</value>
+          <value field="address_code" type="string(2)">TK</value>
+          <value field="address_name" type="string(35)">Tokelau</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000D8'</value>
-          <value field="address_code">'TO'</value>
-          <value field="address_name">'Tonga'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000D8</value>
+          <value field="address_code" type="string(2)">TO</value>
+          <value field="address_name" type="string(35)">Tonga</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000D9'</value>
-          <value field="address_code">'TT'</value>
-          <value field="address_name">'Trinidad And Tobago'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000D9</value>
+          <value field="address_code" type="string(2)">TT</value>
+          <value field="address_name" type="string(35)">Trinidad And 
Tobago</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000DA'</value>
-          <value field="address_code">'TN'</value>
-          <value field="address_name">'Tunisia'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000DA</value>
+          <value field="address_code" type="string(2)">TN</value>
+          <value field="address_name" type="string(35)">Tunisia</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000DB'</value>
-          <value field="address_code">'TR'</value>
-          <value field="address_name">'Turkey'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000DB</value>
+          <value field="address_code" type="string(2)">TR</value>
+          <value field="address_name" type="string(35)">Turkey</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000DC'</value>
-          <value field="address_code">'TM'</value>
-          <value field="address_name">'Turkmenistan'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000DC</value>
+          <value field="address_code" type="string(2)">TM</value>
+          <value field="address_name" type="string(35)">Turkmenistan</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000DD'</value>
-          <value field="address_code">'TC'</value>
-          <value field="address_name">'Turks And Caicos Islands'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000DD</value>
+          <value field="address_code" type="string(2)">TC</value>
+          <value field="address_name" type="string(35)">Turks And Caicos 
Islands</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000DE'</value>
-          <value field="address_code">'TV'</value>
-          <value field="address_name">'Tuvalu'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000DE</value>
+          <value field="address_code" type="string(2)">TV</value>
+          <value field="address_name" type="string(35)">Tuvalu</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000DF'</value>
-          <value field="address_code">'UG'</value>
-          <value field="address_name">'Uganda'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000DF</value>
+          <value field="address_code" type="string(2)">UG</value>
+          <value field="address_name" type="string(35)">Uganda</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000E0'</value>
-          <value field="address_code">'UA'</value>
-          <value field="address_name">'Ukraine'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000E0</value>
+          <value field="address_code" type="string(2)">UA</value>
+          <value field="address_name" type="string(35)">Ukraine</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000E1'</value>
-          <value field="address_code">'AE'</value>
-          <value field="address_name">'United Arab Emirates'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000E1</value>
+          <value field="address_code" type="string(2)">AE</value>
+          <value field="address_name" type="string(35)">United Arab 
Emirates</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000E2'</value>
-          <value field="address_code">'GB'</value>
-          <value field="address_name">'United Kingdom'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000E2</value>
+          <value field="address_code" type="string(2)">GB</value>
+          <value field="address_name" type="string(35)">United Kingdom</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000E3'</value>
-          <value field="address_code">'US'</value>
-          <value field="address_name">'United States'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000E3</value>
+          <value field="address_code" type="string(2)">US</value>
+          <value field="address_name" type="string(35)">United States</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000E4'</value>
-          <value field="address_code">'UM'</value>
-          <value field="address_name">'United States Minor Outlying 
Island'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000E4</value>
+          <value field="address_code" type="string(2)">UM</value>
+          <value field="address_name" type="string(35)">United States Minor 
Outlying Island</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000E5'</value>
-          <value field="address_code">'UY'</value>
-          <value field="address_name">'Uruguay'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000E5</value>
+          <value field="address_code" type="string(2)">UY</value>
+          <value field="address_name" type="string(35)">Uruguay</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000E6'</value>
-          <value field="address_code">'UZ'</value>
-          <value field="address_name">'Uzbekistan'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000E6</value>
+          <value field="address_code" type="string(2)">UZ</value>
+          <value field="address_name" type="string(35)">Uzbekistan</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000E7'</value>
-          <value field="address_code">'VU'</value>
-          <value field="address_name">'Vanuatu'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000E7</value>
+          <value field="address_code" type="string(2)">VU</value>
+          <value field="address_name" type="string(35)">Vanuatu</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000E8'</value>
-          <value field="address_code">'VE'</value>
-          <value field="address_name">'Venezuela'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000E8</value>
+          <value field="address_code" type="string(2)">VE</value>
+          <value field="address_name" type="string(35)">Venezuela</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000E9'</value>
-          <value field="address_code">'VN'</value>
-          <value field="address_name">'Viet Nam'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000E9</value>
+          <value field="address_code" type="string(2)">VN</value>
+          <value field="address_name" type="string(35)">Viet Nam</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000EA'</value>
-          <value field="address_code">'VG'</value>
-          <value field="address_name">'Virgin Islands, British'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000EA</value>
+          <value field="address_code" type="string(2)">VG</value>
+          <value field="address_name" type="string(35)">Virgin Islands, 
British</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000EB'</value>
-          <value field="address_code">'VI'</value>
-          <value field="address_name">'Virgin Islands, U.S.'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000EB</value>
+          <value field="address_code" type="string(2)">VI</value>
+          <value field="address_name" type="string(35)">Virgin Islands, 
U.S.</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000EC'</value>
-          <value field="address_code">'WF'</value>
-          <value field="address_name">'Wallis And Futuna'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000EC</value>
+          <value field="address_code" type="string(2)">WF</value>
+          <value field="address_name" type="string(35)">Wallis And 
Futuna</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000ED'</value>
-          <value field="address_code">'EH'</value>
-          <value field="address_name">'Western Sahara'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000ED</value>
+          <value field="address_code" type="string(2)">EH</value>
+          <value field="address_name" type="string(35)">Western Sahara</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000EE'</value>
-          <value field="address_code">'YE'</value>
-          <value field="address_name">'Yemen'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000EE</value>
+          <value field="address_code" type="string(2)">YE</value>
+          <value field="address_name" type="string(35)">Yemen</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000EF'</value>
-          <value field="address_code">'ZM'</value>
-          <value field="address_name">'Zambia'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000EF</value>
+          <value field="address_code" type="string(2)">ZM</value>
+          <value field="address_name" type="string(35)">Zambia</value>
         </row>
         <row>
-          <value field="gnue_id">'000000000000000000000020000000F0'</value>
-          <value field="address_code">'ZW'</value>
-          <value field="address_name">'Zimbabwe'</value>
+          <value field="gnue_id" 
type="string(32)">000000000000000000000020000000F0</value>
+          <value field="address_code" type="string(2)">ZW</value>
+          <value field="address_name" type="string(35)">Zimbabwe</value>
         </row>
       </rows>
     </tabledata>

Modified: trunk/gnue-appserver/src/classrep/Base.py
===================================================================
--- trunk/gnue-appserver/src/classrep/Base.py   2004-02-26 09:46:01 UTC (rev 
5163)
+++ trunk/gnue-appserver/src/classrep/Base.py   2004-02-26 16:23:23 UTC (rev 
5164)
@@ -162,7 +162,11 @@
     self.__predefined = {}
 
     if pDefs is not None:
-      self.__predefined = pDefs
+      for key in pDefs.keys ():
+        if key in ["gnue_length", "gnue_scale"]:
+          self.__predefined [key] = int (pDefs [key])
+        else:
+          self.__predefined [key] = pDefs [key]
 
   # ---------------------------------------------------------------------------
   # Return an attributes value

Modified: trunk/gnue-appserver/src/classrep/Property.py
===================================================================
--- trunk/gnue-appserver/src/classrep/Property.py       2004-02-26 09:46:01 UTC 
(rev 5163)
+++ trunk/gnue-appserver/src/classrep/Property.py       2004-02-26 16:23:23 UTC 
(rev 5164)
@@ -87,6 +87,11 @@
 # =============================================================================
 class Property (BaseObject):
 
+  _BASE_TYPES = ['boolean', 'date', 'datetime', 'number', 'string', 'time']
+  _ID_TYPE    = "string"
+  _ID_LENGTH  = 32
+  _ID_SCALE   = 0
+
   # ---------------------------------------------------------------------------
   # Construct a new property from module, class and business object
   # ---------------------------------------------------------------------------
@@ -99,14 +104,38 @@
     self.fullName = createName (self.__module.gnue_name, self.gnue_name)
     self.column   = self.fullName
 
-    if self.gnue_type == 'string':
-      self.fullType = '%s(%d)' % (self.gnue_type, int (self.gnue_length))
+    if self.gnue_length is None:
+      self.gnue_length = 0
 
-    elif self.gnue_type == 'number':
-      if self.gnue_scale == 0:
-        self.fullType = '%s(%d)' % (self.gnue_type, int (self.gnue_length))
+    if self.gnue_scale is None:
+      self.gnue_scale = 0
+
+    # build database specific type information
+    if self.gnue_type in self._BASE_TYPES:
+      self.dbType   = self.gnue_type
+      self.dbLength = self.gnue_length
+      self.dbScale  = self.gnue_scale
+
+    else:
+      self.dbType   = self._ID_TYPE
+      self.dbLength = self._ID_LENGTH
+      self.dbScale  = self._ID_SCALE
+
+    if self.dbType in ["string", "number"]:
+      if int (self.dbScale) == 0:
+        self.dbFullType = "%s(%d)" % (self.dbType, int (self.dbLength))
       else:
-        self.fullType = '%s(%d.%d)' % (self.gnue_type, int (self.gnue_length),
-                                       int (self.gnue_scale))
+        self.dbFullType = "%s(%d.%d)" % (self.dbType, int (self.dbLength),
+                                                      int (self.dbScale))
     else:
+      self.dbFullType = self.dbType
+
+    # build appserver specific type information
+    if self.gnue_type in ["string", "number"]:
+      if int (self.gnue_scale) == 0:
+        self.fullType = "%s(%d)" % (self.gnue_type, int (self.gnue_length))
+      else:
+        self.fullType = "%s(%d.%d)" % (self.gnue_type, int (self.gnue_length),
+                                                       int (self.gnue_scale))
+    else:
       self.fullType = self.gnue_type

Modified: trunk/gnue-appserver/src/classrep/SchemaSupport.py
===================================================================
--- trunk/gnue-appserver/src/classrep/SchemaSupport.py  2004-02-26 09:46:01 UTC 
(rev 5163)
+++ trunk/gnue-appserver/src/classrep/SchemaSupport.py  2004-02-26 16:23:23 UTC 
(rev 5164)
@@ -30,8 +30,13 @@
 # write schema support
 from gnue.common.schema.Objects import *
 from gnue.common.definitions.GParserHelpers import GContent
+from types import StringType, UnicodeType
+
 import sys
+import mx.DateTime.ISO
+import re
 
+
 # =============================================================================
 # Exceptions: Base exception class
 # =============================================================================
@@ -52,14 +57,20 @@
     ESchemaSupport.__init__ (self, _("Invalid export type: '%s'." % etype))
 
 
+class EInvalidValue (ESchemaSupport):
+  """
+  EInvalidValue is raised if a value doesn't match it's datatype.
+  """
+  def __init__ (self, native, text):
+    ESchemaSupport.__init__ (self, _("'%s' %s") % (native, text))
 
+
 # =============================================================================
 # SchemaSupport
 # =============================================================================
 class SchemaSupport:
 
   SCHEMA_STORE = ["schema", "data", "both"]
-  SCHEMA_TYPES = ["string", "number", "boolean", "date", "time", "datetime"]
 
   # ---------------------------------------------------------------------------
   # Constructor
@@ -100,7 +111,6 @@
         else:
           raise Namespace.EInvalidName (item)
 
-
     schema = GSSchema()
     schema.title   = _("Appserver Schema Dump")
     schema.author  = _("Appserver SchemaSupport")
@@ -123,12 +133,12 @@
     else:
       dest = open (filename, 'w')
       
-    dest.write ('<?xml version="1.0"?>\n')
+    dest.write ('<?xml version="1.0" encoding="UTF-8"?>\n')
     dest.write (_('<!-- Schema definition created by GNUe Appserver\'s ') + \
                 _('Schema Support. -->\n'))
     dest.write (_("<!-- run this file through gnue-schema to create SQL ") + \
                 _("scripts -->\n"))
-    dest.write (schema.dumpXML().encode('utf-8'))
+    dest.write (schema.dumpXML ().encode ('utf-8'))
     dest.close ()
 
 
@@ -137,8 +147,8 @@
   # ---------------------------------------------------------------------------
   def __createTableDef (self, gsTables, tablename):
     table      = GSTable (gsTables)
-    table.name = tablename
-      
+    table.name = unicode (tablename, "utf-8")
+
     # add fields listing (required)
     fields = GSFields (table)
     GSConstraints (table)
@@ -147,28 +157,22 @@
     aClass = self.__classes [tablename]
     for cProp in aClass.properties.values ():
       field = GSField (fields)
-      field.name        = cProp.fullName
-      field.description = cProp.gnue_comment
+      field.name        = unicode (cProp.fullName, "utf-8")
+      field.description = unicode (cProp.gnue_comment, "utf-8")
 
-      # map known types 
-      if cProp.gnue_type in self.SCHEMA_TYPES:
-        field.type        = cProp.gnue_type
-        if int (cProp.gnue_length) > 0:
-          field.length      = int (cProp.gnue_length)
-        field.precision   = int (cProp.gnue_scale)
+      field.type      = unicode (cProp.dbType, "utf-8")
+      field.precision = int (cProp.dbScale)
+      if int (cProp.dbLength) > 0:
+        field.length = int (cProp.dbLength)
+      if field.name == "gnue_id":
+        field.nullable = False
 
-      # everything else should be a reference
-      else:
-        field.type        = 'string'
-        field.length      = 32
-        field.precision   = 0
-
     # If there is a property 'gnue_id' of type 'id' in a class use it for the
     # primary key
     if aClass.properties.has_key ("gnue_id"):
       if aClass.properties ["gnue_id"].gnue_type == "id":
         pk = GSPrimaryKey (table)
-        pk.name = "gnue_id_pk_%s" % aClass.fullName
+        pk.name = "gnue_id_pk_%s" % unicode (aClass.fullName, "utf-8")
 
         pkf = GSPKField (pk)
         pkf.name = 'gnue_id'
@@ -178,7 +182,6 @@
   # Dump all tabledata from a given tablelist
   # ---------------------------------------------------------------------------
   def __createDataList (self, gsData, tableList):
-
     # first we need a list of all modules used in tableList
     modules = {}
     for table in tableList:
@@ -191,14 +194,14 @@
     modrows = GSRows (moddata)
 
     for module in modules.keys ():
-      mDef = self.__modules [module]
+      mDef  = self.__modules [module]
+      mProp = self.__classes ["gnue_module"].properties
+      row   = GSRow (modrows)
 
-      row = GSRow (modrows)
+      self.__buildValue (row, mProp ["gnue_id"], mDef.gnue_id)
+      self.__buildValue (row, mProp ["gnue_name"], mDef.gnue_name)
+      self.__buildValue (row, mProp ["gnue_comment"], mDef.gnue_comment)
 
-      self.__buildValue (row, "gnue_id",      mDef.gnue_id)
-      self.__buildValue (row, "gnue_name",    mDef.gnue_name)
-      self.__buildValue (row, "gnue_comment", mDef.gnue_comment)
-
     # dump all gnue_class rows for the requested tables
     tabledata = GSTableData (gsData)
     tabledata.name      = 'gnue_class_dump'
@@ -212,40 +215,138 @@
     proprows = GSRows (propdata)
 
     for tablename in tableList:
-      cDef = self.__classes [tablename]
+      cDef  = self.__classes [tablename]
+      cProp = self.__classes ["gnue_class"].properties
           
       # save tabledata
       row = GSRow (tablerows)              
 
-      self.__buildValue (row, "gnue_id",      cDef.gnue_id)
-      self.__buildValue (row, "gnue_module",  cDef.gnue_module)
-      self.__buildValue (row, "gnue_name",    cDef.gnue_name)
-      self.__buildValue (row, "gnue_comment", cDef.gnue_comment)
+      self.__buildValue (row, cProp ["gnue_id"], cDef.gnue_id)
+      self.__buildValue (row, cProp ["gnue_module"], cDef.gnue_module)
+      self.__buildValue (row, cProp ["gnue_name"], cDef.gnue_name)
+      self.__buildValue (row, cProp ["gnue_comment"], cDef.gnue_comment)
       
-      for cProp in cDef.properties.values ():
+      for curProp in cDef.properties.values ():
         # add one field per property
+        pProp = self.__classes ["gnue_property"].properties
         row = GSRow (proprows)                           
 
-        self.__buildValue (row, "gnue_id"     , cProp.gnue_id)
-        self.__buildValue (row, "gnue_module" , cProp.gnue_module)
-        self.__buildValue (row, "gnue_class"  , cProp.gnue_class)
-        self.__buildValue (row, "gnue_name"   , cProp.gnue_name)
-        self.__buildValue (row, "gnue_type"   , cProp.gnue_type)
-        self.__buildValue (row, "gnue_length" , int (cProp.gnue_length))
-        self.__buildValue (row, "gnue_scale"  , int (cProp.gnue_scale))
-        self.__buildValue (row, "gnue_comment", cProp.gnue_comment)
+        self.__buildValue (row, pProp ["gnue_id"], curProp.gnue_id)
+        self.__buildValue (row, pProp ["gnue_module"], curProp.gnue_module)
+        self.__buildValue (row, pProp ["gnue_class"], curProp.gnue_class)
+        self.__buildValue (row, pProp ["gnue_name"], curProp.gnue_name)
+        self.__buildValue (row, pProp ["gnue_type"], curProp.gnue_type)
+        self.__buildValue (row, pProp ["gnue_length"], curProp.gnue_length)
+        self.__buildValue (row, pProp ["gnue_scale"], curProp.gnue_scale)
+        self.__buildValue (row, pProp ["gnue_comment"], curProp.gnue_comment)
                   
 
   # ---------------------------------------------------------------------------
   # Create a new field in a row and populate it with a value
   # ---------------------------------------------------------------------------
-  def __buildValue (self, row, column, data):
+  def __buildValue (self, row, prop, data):
     value = GSValue (row)
-    value.field = column
-    GContent (value, "'%s'" % data)
+    value.field = prop.fullName
+    value.type  = prop.dbFullType
+    GContent (value, 
+      unicode (self.__nativeToString (data, prop.dbFullType), 'utf-8'))
 
   
+  # ---------------------------------------------------------------------------
+  # Convert a native python object to a string according to datatype
+  # ---------------------------------------------------------------------------
 
+  def __nativeToString (self, native, datatype):
+    """
+    This function creates a string to be used in a <value>-tag of a GSD file.
+    The native python object will be treated and theirfore converted as
+    'datatype'.
+    """
+    _LENGTH_SCALE = re.compile ('^\w+\s*\((\d+)[\.]{0,1}(\d*)\)\s*')
+
+    if datatype [:6] == "string":
+      if native is None:
+        return ""
+
+      if isinstance (native, UnicodeType):
+        return native.encode ('utf-8')
+
+      elif isinstance (native, StringType):
+        return native
+
+      else:
+        return str (native)
+    
+
+    elif datatype [:6] == "number":
+      if native is None:
+        return "0"
+
+      res = str (native)
+
+      fmatch = _LENGTH_SCALE.match (datatype)
+      if fmatch is not None:
+        (fml, fms) = fmatch.groups ()
+
+        flength = int (fml)
+        fscale  = 0
+        if len (fms):
+          fscale = int (fms)
+
+        vmatch = re.compile ('^([+-]{0,1})(\d+)[\.]{0,1}(\d*)$').match (res)
+        if vmatch is None:
+          raise EInvalidValue (res, _("is not a valid number."))
+
+          sign = vmatch.groups () [0]
+          pre  = vmatch.groups () [1]
+          frac = vmatch.groups () [2]
+
+          if len (pre) > (flength-fscale) or len (frac) > fscale:
+            raise EInvalidValue (res, _("exceeds precision (%d.%d)") % \
+                                       (flength, fscale))
+
+      return res
+
+
+    elif datatype == "boolean":
+      if native is not None and native:
+        return "TRUE"
+      else:
+        return "FALSE"
+
+
+    elif datatype == "date":
+      if isinstance (native, mx.DateTime.DateTimeType):
+        return native.date
+
+      else:
+        raise EInvalidValue (native, _("is not a valid date object"))
+
+
+    elif datatype == "time":
+      if isinstance (native, mx.DateTime.DateTimeType):
+        return native.time
+
+      elif isinstance (native, mx.DateTime.DateTimeDeltaType):
+        return str (native)
+
+      else:
+        raise EInvalidValue (native, _("is not a valid time object"))
+
+
+    elif datatype == "datetime":
+      if isinstance (native, mx.DateTime.DateTimeType):
+        return str (native)
+    
+      else:
+        raise EInvalidValue (native, _("is not a valid datetime object"))
+
+    else:
+      raise EInvalidType (datatype)
+
+
+
+
   # ---------------------------------------------------------------------------
   # Load a Schema from a file and store it in the class repository
   # Parameter: filename:  name of file to load

Modified: trunk/gnue-common/doc/technotes/00012.txt
===================================================================
--- trunk/gnue-common/doc/technotes/00012.txt   2004-02-26 09:46:01 UTC (rev 
5163)
+++ trunk/gnue-common/doc/technotes/00012.txt   2004-02-26 16:23:23 UTC (rev 
5164)
@@ -1,39 +1,82 @@
 Title:   Valid datatypes for GNUe Schema Definitions (gsd)
 Status:  Current 
 Created: 2004-02-18
-Revised: 2004-02-18
+Revised: 2004-02-24
 
 This technote describes the preferred datatypes for use in GNUe Schema
-Definitions (GSD).
+Definitions (GSD). A GSD file must be UTF-8 encoded.
 
+1. Valid Datatypes 
+-------------------
 
-Datatype        Description
---------        -----------
-string          Text
-                If no length is given, this datatype is meant to be without
-                a restriction in length. In most cases this would translate to
-                a SQL type like 'text'.
+1.1 string
+----------
+If no length is given, this datatype is meant to be without a restriction in
+length. In most cases this would translate to a SQL type like 'text'.
 
-date            Date
-                This datatype should be used to store only the datepart of a
-                date/time.
+1.1.1 Values
+------------
+String values must be UTF-8 encoded. This is an implicit rule, since the entire
+file must follow this encoding.
 
-time            Time
-                This datatype should be used to store only the timepart of a
-                date/time.
 
-datetime        Date plus time
-                Use this datatype if you need both, date and time part of a
-                date/time.
+1.2 date
+--------
+This datatype should be used to store only the datepart of a date/time.
 
-number          Numeric data
-                Number is an alias for all kinds of numeric data. The datatype
-                finally used depends on the 'precision' and 'length' of the
-                field definition.
+1.2.1 Values
+------------
+A date value must be given in the form 'YYYY-MM-DD' where YYYY stands for the
+year, MM for the month and DD for the day.
+
+
+1.3 time
+--------
+This datatype should be used to store only the timepart of a date/time.
+
+1.3.1 Values
+------------
+A time value must be given in the form 'HH:MM:SS' where HH stands for the hour,
+MM for the minute and SS for the seconds.
+
+
+1.4 datetime
+------------
+Use this datatype if you need both, date and time part of a date/time.
+
+1.4.1 Values
+------------
+A datetime value must be given in the form 'YYYY-MM-DDTHH:MM:SS' where
+YYYY-MM-DD means the 'date'-part and HH:MM:SS means the 'time'-part. Note: the
+'T' between both parts is kind of a delimiter.
+
+
+1.5 number
+----------
+Number is an alias for all kinds of numeric data. The datatype finally used
+depends on the 'precision' and 'length' of the field definition. 
+
+1.5.1 Values
+------------
+Values consist of numbers (0-9) and a period ('.') as decimal point (if
+precision is greater than 0).
                 
-boolean         Boolean
-                Use this datatype to store boolean values.
 
-key             Key value type
-                This datatype is an alias for a database specific type, which
-                should be used for storing key values.
+1.6 boolean
+-----------
+Use this datatype to store boolean values.
+
+1.6.1 Values
+------------
+FALSE   False
+TRUE    True
+
+
+1.7 key
+-------
+This datatype is an alias for a database specific type, which could be used
+for storing key values.
+
+1.7.1 Values
+------------
+Depending on the database type of the key-fields.

Modified: trunk/gnue-common/src/formatting/GTypecast.py
===================================================================
--- trunk/gnue-common/src/formatting/GTypecast.py       2004-02-26 09:46:01 UTC 
(rev 5163)
+++ trunk/gnue-common/src/formatting/GTypecast.py       2004-02-26 16:23:23 UTC 
(rev 5164)
@@ -31,6 +31,8 @@
 #
 
 import string
+from types import UnicodeType
+from gnue.common.apps import GDebug
 
 # Raised if a value cannot be typecasted
 class TypecastError (ValueError): 
@@ -45,7 +47,10 @@
 #
 #######################################################
 def text (value):
-  return str(value)
+  if isinstance (value, UnicodeType):
+    return value.encode ('utf-8')
+  else:
+    return str (value)
 
 
 #######################################################
@@ -60,7 +65,11 @@
 def name (value):
   # TODO: name should make sure the string
   # TODO: containts only valid characters.
-  return string.strip(str(value))
+  if isinstance (value, UnicodeType):
+    rv = value.encode ('utf-8')
+  else:
+    rv = str (value)
+  return string.strip (rv)
 
 
 #######################################################
@@ -76,7 +85,7 @@
 def uppername (value):
   # TODO: name should make sure the string
   # TODO: containts only valid characters.
-  return string.upper(string.strip(str(value)))
+  return string.upper (name (value))
 
 
 #######################################################

Modified: trunk/gnue-common/src/schema/GSParser.py
===================================================================
--- trunk/gnue-common/src/schema/GSParser.py    2004-02-26 09:46:01 UTC (rev 
5163)
+++ trunk/gnue-common/src/schema/GSParser.py    2004-02-26 16:23:23 UTC (rev 
5164)
@@ -254,7 +254,12 @@
             'type':        {
                'Required': 0,
                'Typecast': GTypecast.name,
-               'Default':  'text' } },
+               'Default':  'text' },
+            'key': {
+               'Required': 0,
+               'Typecast': GTypecast.boolean,
+               'Default' : 0}
+            },
          'ParentTags':  ('row',),
          'MixedContent': 1, 
          'KeepWhitespace': 1},

Modified: trunk/gnue-common/src/schema/Objects.py
===================================================================
--- trunk/gnue-common/src/schema/Objects.py     2004-02-26 09:46:01 UTC (rev 
5163)
+++ trunk/gnue-common/src/schema/Objects.py     2004-02-26 16:23:23 UTC (rev 
5164)
@@ -26,11 +26,19 @@
 #
 # NOTES:
 #
+# $Id$
 
 from gnue.common.definitions.GObjects import GObj
 from gnue.common.definitions.GRootObj import GRootObj
+from gnue.common.schema.GSData import valueToNative
 import GSParser
 
+class EFoundErrors (Exception):
+  def __init__ (self):
+    text = _("Errors found while processing GSD file.")
+    Exception.__init__ (self, text)
+
+
 class GSObject(GObj):
   pass
 
@@ -38,7 +46,14 @@
   def __init__(self, parent=None):
     GRootObj.__init__(self, 'schema', GSParser.getXMLelements, GSParser)
     GSObject.__init__(self, parent, type='GSSchema')
+    self.foundErrors = False
 
+    self._inits.extend ([None, self._checkErrors])
+
+  def _checkErrors (self):
+    if self.foundErrors:
+      raise EFoundErrors ()
+
 class GSTables(GSObject):
   def __init__(self, parent):
     GSObject.__init__(self, parent, type='GSTables')
@@ -115,10 +130,31 @@
   def __init__(self, parent):
     GSObject.__init__(self, parent, type='GSRow')
 
+
 class GSValue(GSObject):
+
   def __init__(self, parent):
     GSObject.__init__(self, parent, type='GSValue')
+    self.dataType = None
+    self._inits.append (self._validate)
 
+  def _validate (self):
+    try:
+      self.value = valueToNative (self)
+
+    except Exception, message:
+      self.value = None
+
+      print message
+
+      parent = self._parent
+
+      while parent is not None:
+        parent.foundErrors = True
+        parent = parent._parent
+
+
+
 class GSDescription(GSObject):
   def __init__(self, parent):
     GSObject.__init__(self, parent, type='GSDescription')


Property changes on: trunk/gnue-common/src/schema/Objects.py
___________________________________________________________________
Name: svn:keywords
   + Id

Modified: trunk/gnue-common/src/schema/scripter/Definition.py
===================================================================
--- trunk/gnue-common/src/schema/scripter/Definition.py 2004-02-26 09:46:01 UTC 
(rev 5163)
+++ trunk/gnue-common/src/schema/scripter/Definition.py 2004-02-26 16:23:23 UTC 
(rev 5164)
@@ -21,6 +21,8 @@
 # $Id$
 #
 
+from types import StringType
+
 # =============================================================================
 # The basic definition class
 # =============================================================================
@@ -65,6 +67,11 @@
     order: prologue, header, body, footer, epilogue
     """
     for line in self.merge ():
+      # TODO: since GTypecast only produces UTF-8 strings and not unicode,
+      # we have to create a unicode string before encoding as requested
+      if isinstance (line, StringType):
+        line = unicode (line, 'utf-8')
+
       destination.write (line.encode (encoding) + "\n")
 
 
@@ -204,9 +211,9 @@
 # =============================================================================
 class RowDefinition:
   """
-  This class encapsulates a single data row by providing two sequences: columns
-  and vaules, where columns is a list with column-names and values a list of
-  corresponding values.
+  This class encapsulates a single data row by providing three sequences: 
+  columns, values and types. Columns is a list with column-names, values a list
+  of corresponding values and types holds the columns datatypes.
   """
 
   # ---------------------------------------------------------------------------
@@ -215,3 +222,4 @@
   def __init__ (self):
     self.columns = []
     self.values  = []
+    self.types   = []

Modified: trunk/gnue-common/src/schema/scripter/Scripter.py
===================================================================
--- trunk/gnue-common/src/schema/scripter/Scripter.py   2004-02-26 09:46:01 UTC 
(rev 5163)
+++ trunk/gnue-common/src/schema/scripter/Scripter.py   2004-02-26 16:23:23 UTC 
(rev 5164)
@@ -27,10 +27,13 @@
 from gnue.common.apps.GClientApp import GClientApp
 from processors import vendors
 from gnue.common.schema.scripter.Definition import *
+from gnue.common.schema.GSData import *
 from time import strftime
+from string import join
 
 import sys
 import os
+import re
 
 # =============================================================================
 # Generate SQL files from GNUe Schema Definition files
@@ -71,8 +74,8 @@
         _("is not supported for --vendors all.") ],
       [ 'vendor','v','vendor', 1, 'all', 'vendor',
         _("The vendor to create a script for. If <vendor> is 'all', then ") + \
-        _("scripts for all supported vendors will be created. <vendor> can ")+\
-        _("also be a comma-separated list.")],
+        _("scripts for all supported vendors will be created. <vendor> ")   + \
+        _("can also be a comma-separated list.")],
       ]
 
   SUMMARY = _("GNUe Schema Scripter creates SQL files based on GNUe ") + \
@@ -84,6 +87,7 @@
   # ---------------------------------------------------------------------------
   # Constructor
   # ---------------------------------------------------------------------------
+
   def __init__ (self, connections = None):
     ConfigOptions = {}
     GClientApp.__init__ (self, connections, 'schema', ConfigOptions)
@@ -91,6 +95,26 @@
 
 
   # ---------------------------------------------------------------------------
+  # Main program
+  # ---------------------------------------------------------------------------
+  def run (self):
+    self.__check_options ()
+
+    try:
+      print _("Loading gsd file '%s' ...") % self.ARGUMENTS [0]
+
+      self.schema = GSParser.loadFile (self.__input)
+
+    except Exception, message:
+      print message
+
+    else:
+      for vendor in self.__vendors:
+        self.__runProcessor (vendor)
+
+
+
+  # ---------------------------------------------------------------------------
   # Walk through all command line options 
   # ---------------------------------------------------------------------------
   def __check_options (self):
@@ -140,6 +164,7 @@
   # ---------------------------------------------------------------------------
   # Print a list of all available processors
   # ---------------------------------------------------------------------------
+
   def __listVendors (self):
     header = "%s\nVersion %s" % (self.NAME, self.VERSION)
     print
@@ -172,14 +197,16 @@
   # ---------------------------------------------------------------------------
   # Get the name of a given processor
   # ---------------------------------------------------------------------------
+
   def __getProcessorName (self, processor):
     return dyn_import (self._PROC_PATH % processor).name
 
 
   # ---------------------------------------------------------------------------
-  # Generate an SQL script for a given vendor
+  # Run a given processor
   # ---------------------------------------------------------------------------
-  def __generateSQL (self, vendor):
+
+  def __runProcessor (self, vendor):
     if not self.__output:
       filename = "%s.sql" % self.__getProcessorName (vendor)
 
@@ -203,22 +230,31 @@
                                                      self.ARGUMENTS [0])
 
     print _("Writing schema to %s ...") % filename
-    self.tables = {}
 
-    self.processor.startDump ()
-    self.processor.client_encoding (self.OPTIONS ['encoding'])
+    try:
+      self.tables = {}
 
-    self.schema.walk (self.__iterate_objects)
+      self.processor.startDump ()
+      self.processor.client_encoding (self.OPTIONS ['encoding'])
 
-    self.processor.finishDump ()
+      self.schema.walk (self.__iterate_objects)
 
-    # and finally close the output file
-    self.destination.close () 
+      self.processor.finishDump ()
 
+      # and finally close the output file
+      self.destination.close () 
 
+    except Exception, message:
+      os.unlink (filename)
+      print message
+
+
+
+
   # ---------------------------------------------------------------------------
   # iteration over all schema objects in the document tree
   # ---------------------------------------------------------------------------
+
   def __iterate_objects (self, sObject):
     if sObject._type == "GSSchema":
       if not self.OPTIONS ["ignore_schema"]:
@@ -315,6 +351,7 @@
       row = dataDef.addRow ()
       sObject.walk (self.__data_values, rowDef = row)
 
+
   # ---------------------------------------------------------------------------
   # Iterate over all values of a row definition
   # ---------------------------------------------------------------------------
@@ -323,28 +360,12 @@
       if hasattr (sObject, "field"):
         rowDef.columns.append (sObject.field)
 
-      value = ""
-      for line in sObject._children:
-        value += line.getContent ()
+      if hasattr (sObject, "type"):
+        rowDef.types.append (sObject.type)
 
-      rowDef.values.append (value)
+      rowDef.values.append (sObject)
 
 
-
-
-  # ---------------------------------------------------------------------------
-  # Main program
-  # ---------------------------------------------------------------------------
-  def run (self):
-
-    self.__check_options ()
-
-    self.schema = GSParser.loadFile (self.__input)
-
-    for vendor in self.__vendors:
-      self.__generateSQL (vendor)
-
-
 # =============================================================================
 # If executed directly, start the scripter
 # =============================================================================

Modified: trunk/gnue-common/src/schema/scripter/processors/Base.py
===================================================================
--- trunk/gnue-common/src/schema/scripter/processors/Base.py    2004-02-26 
09:46:01 UTC (rev 5163)
+++ trunk/gnue-common/src/schema/scripter/processors/Base.py    2004-02-26 
16:23:23 UTC (rev 5164)
@@ -21,7 +21,7 @@
 # $Id$
 
 from string import join
-from types import ListType
+from types import ListType, StringType
 from time import strftime
 
 # =============================================================================
@@ -72,7 +72,9 @@
   END_COMMAND        = ""       # Symbol used to terminate a command
   END_BATCH          = ""       # Symbol used to terminate a command-sequence
 
+  QUOTE_CHAR         = ""
 
+
   # ---------------------------------------------------------------------------
   # Constructor
   # ---------------------------------------------------------------------------
@@ -135,6 +137,10 @@
       astr = join (text, "\n") + "\n"
     else:
       astr = text
+
+    if isinstance (astr, StringType):
+      astr = unicode (astr, 'utf-8')
+
     self.destination.write (astr.encode (self.encoding))
 
   
@@ -255,7 +261,6 @@
     This function calls all _process*-functions on the given table definition
     and finally writes the definition to the destination.
     """
-
     # Process all parts of the table definition
     self._processFields (tableDef)
 
@@ -285,23 +290,23 @@
   # Find a Data transformation service handler for a fields data-type
   # ---------------------------------------------------------------------------
 
-  def _dts_type (self, gsField, value):
+  def _dts_type (self, gsField):
     """
     This function looks for a data transformation handler function for the
     gsField's data type. The function first looks in the current class, and if
     not successfull asks all superclasses for such a method. On success the
-    method will be called with gsField and value returning it's result. If no
-    handler was found the value will be returned.
+    method will be called with gsField returning it's result. If no
+    handler was found, the native value object will be returned as is.
 
     NOTE: data transformation service functions must have a name of
     'dts_<type>' where <type> stands for the acutal datatype, e.g. "dts_date"
     is a transformation handler for date-values.
     """
-    aMethod = self.__findMethod (self.__class__, "dts_%s" % gsField.type)
+    aMethod = self.__findMethod (self.__class__, "dts_%s" % gsField.dataType)
     if aMethod is not None:
-      return aMethod (self, gsField, value)
+      return aMethod (self, gsField)
     else:
-      return value
+      return gsField.value
 
 
   # ---------------------------------------------------------------------------
@@ -479,3 +484,27 @@
           _("Use 'string' without length instead.")
     gsField.type = "string"
     return self.string (gsField)
+
+
+  # ---------------------------------------------------------------------------
+  # quote a string
+  # ---------------------------------------------------------------------------
+
+  def quoteString (self, aString):
+    """
+    This function escapes the given string and puts it into quotes.
+    """
+    return "%s%s%s" % (self.QUOTECHAR, self.escapeString (aString),
+                       self.QUOTECHAR)
+
+
+  # ---------------------------------------------------------------------------
+  # escape a string
+  # ---------------------------------------------------------------------------
+
+  def escapeString (self, aString):
+    """
+    Processors override this function to make a string save for output, e.g. by
+    escaping all special characters.
+    """
+    return aString

Modified: trunk/gnue-common/src/schema/scripter/processors/SQL.py
===================================================================
--- trunk/gnue-common/src/schema/scripter/processors/SQL.py     2004-02-26 
09:46:01 UTC (rev 5163)
+++ trunk/gnue-common/src/schema/scripter/processors/SQL.py     2004-02-26 
16:23:23 UTC (rev 5164)
@@ -23,6 +23,7 @@
 
 from gnue.common.schema.scripter.processors.Base import BaseProcessor
 from string import join
+from types import UnicodeType
 
 # =============================================================================
 # Baseclass for SQL processors
@@ -36,7 +37,9 @@
   END_COMMAND = ";"             # Symbol used to terminate a command
   END_BATCH   = ""              # Symbol used to terminate a command-sequence
 
+  QUOTECHAR   = "'"
 
+
   # ---------------------------------------------------------------------------
   # Process the fields collection of a table definition
   # ---------------------------------------------------------------------------
@@ -174,44 +177,35 @@
     a table definition is available and the row definition has a column list,
     all apropriate dts_* () functions are called.
     """
-    # First, replace all empty values by NULL 
-    index = 0
-    for val in row.values:
-      if not len (val) or val in ["''", '""']:
-        row.values [index] = "NULL"
-      index += 1
 
+    values = []
+
+    for item in row.values:
+      if item is None:
+        values.append ("NULL")
+      else:
+        res = (self._dts_type (item))
+
+        if isinstance (res, UnicodeType):
+          values.append (res)
+        else:
+          values.append (str (res))
+
     # if a column list is available we might use some data transformation
     # services (if a table definition is available too)
     if len (row.columns):
       cols = " (%s)" % join (row.columns, ", ")
+    else:
+      cols = ""
 
-      if tableDef is not None:
-        vlist = []
-        index = 0
+    # values list usually has unicode items, so we make sure to get utf-8
+    vals = join (values, ", ")
+    if isinstance (vals, UnicodeType):
+      vals = vals.encode ('utf-8')
 
-        for column in row.columns:
-          field = tableDef.getField (column)
-          if field is None:
-            raise AttributeError, _("Table '%s' has no field '%s'") % \
-                                  (tableDef.name, column)
-
-          vlist.append (self._dts_type (field, row.values [index]))
-          index += 1
-
-      else:
-        vlist = row.values
-
-      values = join (vlist, ", ")
-
-    # no column list available, so just concatenate all values
-    else:
-      cols   = ""
-      values = join (row.values, ", ")
-
     # and create an insert statement
     dataDef.body.append ("INSERT INTO %s%s VALUES (%s)%s" % \
-       (dataDef.name, cols, values, self.END_COMMAND))
+       (dataDef.name, cols, vals, self.END_COMMAND))
 
 
 
@@ -267,3 +261,76 @@
     """
     return "datetime"
 
+
+  # ===========================================================================
+  # Data transformation services
+  # ===========================================================================
+
+  # ---------------------------------------------------------------------------
+  # escape the quote character
+  # ---------------------------------------------------------------------------
+
+  def escapeString (self, aString):
+    """
+    Usually we escape the quote-character by a preceeding backslash.
+    """
+    res = aString.replace (self.QUOTECHAR, "\\%s" % self.QUOTECHAR)
+    return res
+
+
+  # ---------------------------------------------------------------------------
+  # quote a string
+  # ---------------------------------------------------------------------------
+
+  def dts_string (self, gsValue):
+    """
+    Return a quoted string
+    """
+    return self.quoteString (gsValue.value)
+
+
+  # ---------------------------------------------------------------------------
+  # take only the date-part of an mx.DateTime.Date instance
+  # ---------------------------------------------------------------------------
+
+  def dts_date (self, gsValue):
+    """
+    Return the quoted date-part of the date object
+    """
+    return self.quoteString (str (gsValue.value).split (" ") [0])
+
+
+  # ---------------------------------------------------------------------------
+  # get a quoted time
+  # ---------------------------------------------------------------------------
+
+  def dts_time (self, gsValue):
+    """
+    Quote the time object
+    """
+    return self.quoteString (str (gsValue.value))
+
+
+  # ---------------------------------------------------------------------------
+  # datetime object only needs quotes
+  # ---------------------------------------------------------------------------
+
+  def dts_datetime (self, gsValue):
+    """
+    Quote the datetime object
+    """
+    return self.quoteString (str (gsValue.value))
+
+
+  # ---------------------------------------------------------------------------
+  # booleans are represented by 0 (FALSE) and 1 (TRUE)
+  # ---------------------------------------------------------------------------
+
+  def dts_boolean (self, gsValue):
+    """
+    Use 1 for TRUE and 0 for FALSE
+    """
+    if gsValue:
+      return 1
+    else:
+      return 0

Modified: trunk/gnue-common/src/schema/scripter/processors/mssql.py
===================================================================
--- trunk/gnue-common/src/schema/scripter/processors/mssql.py   2004-02-26 
09:46:01 UTC (rev 5163)
+++ trunk/gnue-common/src/schema/scripter/processors/mssql.py   2004-02-26 
16:23:23 UTC (rev 5164)
@@ -153,40 +153,31 @@
   # convert datetime values using the convert method
   # ---------------------------------------------------------------------------
 
-  def dts_datetime (self, gsField, value):
+  def dts_datetime (self, gsField):
     """
     Datetime values will be converted using SQL Server's CONVERT function.
     """
-    return "CONVERT (DATETIME, %s, 102)" % value
+    return "CONVERT (DATETIME, '%s', 102)" % gsField.value
 
 
   # ---------------------------------------------------------------------------
   # map date to datetime
   # ---------------------------------------------------------------------------
 
-  def dts_date (self, gsField, value):
+  def dts_date (self, gsField):
     """
     Call dts_datetime ().
     """
-    return self.dts_datetime (gsField, value)
+    return self.dts_datetime (gsField)
 
 
   # ---------------------------------------------------------------------------
   # call dts_datetime ()
   # ---------------------------------------------------------------------------
 
-  def dts_time (self, gsField, value):
+  def dts_time (self, gsField):
     """
     Call dts_datetime ().
     """
-    return self.dts_datetime (gsField, value)
+    return self.dts_datetime (gsField)
 
-
-  # ---------------------------------------------------------------------------
-  # call dts_datetime ()
-  # ---------------------------------------------------------------------------
-  def dts_timestamp (self, gsField, value):
-    """
-    Call dts_datetime ()
-    """
-    return self.dts_datetime (gsField, value)

Modified: trunk/gnue-common/src/schema/scripter/processors/postgresql.py
===================================================================
--- trunk/gnue-common/src/schema/scripter/processors/postgresql.py      
2004-02-26 09:46:01 UTC (rev 5163)
+++ trunk/gnue-common/src/schema/scripter/processors/postgresql.py      
2004-02-26 16:23:23 UTC (rev 5164)
@@ -73,7 +73,11 @@
   # ---------------------------------------------------------------------------
   # A key field is of type 'int8'
   # ---------------------------------------------------------------------------
+
   def key (self, gsField):
+    """
+    In PostgreSQL we use 'int8' as key type
+    """
     return "int8"
 
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]