--- generateDS.py	2008-05-31 04:37:34.000000000 +0200
+++ generateDS_mod.py	2008-06-13 13:08:14.843750000 +0200
@@ -1119,8 +1119,8 @@
         child.getType() == DateType:
         s1 = '%s        showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s        outfile.write('<%s%s>%%s</%s%s>\\n' %% quote_xml(self.get%s()))\n" % \
-            (fill, namespace, name, namespace, name, make_gs_name(cleanName))
+        s1 = "%s        outfile.write('<%%s%s>%%s</%%s%s>\\n' %% (namespace_, quote_xml(self.get%s()), namespace_))\n" % \
+            (fill, name, name, make_gs_name(cleanName))
         outfile.write(s1)
     elif child.getType() in IntegerType or \
         child.getType() == PositiveIntegerType or \
@@ -1129,37 +1129,37 @@
         child.getType() == NonNegativeIntegerType:
         s1 = '%s        showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s        outfile.write('<%s%s>%%d</%s%s>\\n' %% self.get%s())\n" % \
-            (fill, namespace, name, namespace, name, make_gs_name(cleanName))
+        s1 = "%s        outfile.write('<%%s%s>%%d</%%s%s>\\n' %% (namespace_, self.get%s(), namespace_))\n" % \
+            (fill, name, name, make_gs_name(cleanName))
         outfile.write(s1)
     elif child.getType() == BooleanType:
         s1 = '%s        showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s        outfile.write('<%s%s>%%s</%s%s>\\n' %% lower(str(self.get%s())))\n" % \
-            (fill, namespace, name, namespace, name, make_gs_name(cleanName))
+        s1 = "%s        outfile.write('<%%s%s>%%s</%%s%s>\\n' %% (namespace_, lower(str(self.get%s())), namespace_))\n" % \
+            (fill, name, name, make_gs_name(cleanName))
         outfile.write(s1)
     elif child.getType() == FloatType or \
         child.getType() == DecimalType:
         s1 = '%s        showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s        outfile.write('<%s%s>%%f</%s%s>\\n' %% self.get%s())\n" % \
-            (fill, namespace, name, namespace, name, make_gs_name(cleanName))
+        s1 = "%s        outfile.write('<%%s%s>%%f</%%s%s>\\n' %% (namespace_, self.get%s(), namespace_))\n" % \
+            (fill, name, name, make_gs_name(cleanName))
         outfile.write(s1)
     elif child.getType() == DoubleType:
         s1 = '%s        showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s        outfile.write('<%s%s>%%e</%s%s>\\n' %% self.get%s())\n" % \
-            (fill, namespace, name, namespace, name, make_gs_name(cleanName))
+        s1 = "%s        outfile.write('<%%s%s>%%e</%%s%s>\\n' %% (namespace_, self.get%s(), namespace_))\n" % \
+            (fill, name, name, make_gs_name(cleanName))
         outfile.write(s1)
     else:
         s1 = "%s        if self.%s:\n" % (fill, mappedName)
         outfile.write(s1)
         if name == child.getType():
-            s1 = "%s            self.%s.export(outfile, level)\n" % \
+            s1 = "%s            self.%s.export(outfile, level, namespace_)\n" % \
                 (fill, mappedName)
         else:
-            s1 = "%s            self.%s.export(outfile, level, name_='%s', namespace_='%s')\n" % \
-                (fill, mappedName, name, namespace)
+            s1 = "%s            self.%s.export(outfile, level, namespace_='%s', name_='%s', )\n" % \
+                (fill, mappedName, namespace, name)
         outfile.write(s1)
 
 
@@ -1174,8 +1174,8 @@
         child.getType() == DateType:
         s1 = '%s        showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s        outfile.write('<%s%s>%%s</%s%s>\\n' %% quote_xml(%s_))\n" % \
-            (fill, namespace, name, namespace, name, cleanName,)
+        s1 = "%s        outfile.write('<%%s%s>%%s</%%s%s>\\n' %% (namespace_, quote_xml(%s_), namespace_))\n" % \
+            (fill, name, name, cleanName,)
         outfile.write(s1)
     elif child.getType() in IntegerType or \
         child.getType() == PositiveIntegerType or \
@@ -1184,34 +1184,34 @@
         child.getType() == NonNegativeIntegerType:
         s1 = '%s        showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s        outfile.write('<%s%s>%%d</%s%s>\\n' %% %s_)\n" % \
-            (fill, namespace, name, namespace, name, cleanName, )
+        s1 = "%s        outfile.write('<%%s%s>%%d</%%s%s>\\n' %% (namespace_, %s_, namespace_)\n" % \
+            (fill, name, name, cleanName, )
         outfile.write(s1)
     elif child.getType() == BooleanType:
         s1 = '%s        showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s        outfile.write('<%s%s>%%s</%s%s>\\n' %% lower(str(%s_)))\n" % \
-            (fill, namespace, name, namespace, name, cleanName, )
+        s1 = "%s        outfile.write('<%%s%s>%%s</%%s%s>\\n' %% (namespace, lower(str(%s_)), namespace_))\n" % \
+            (fill, name, name, cleanName, )
         outfile.write(s1)
     elif child.getType() == FloatType or \
         child.getType() == DecimalType:
         s1 = '%s        showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s        outfile.write('<%s%s>%%f</%s%s>\\n' %% %s_)\n" % \
-            (fill, namespace, name, namespace, name, cleanName, )
+        s1 = "%s        outfile.write('<%%s%s>%%f</%%s%s>\\n' %% (namespace_, %s_, namespace_))\n" % \
+            (fill, name, name, cleanName, )
         outfile.write(s1)
     elif child.getType() == DoubleType:
         s1 = '%s        showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s        outfile.write('<%s%s>%%e</%s%s>\\n' %% %s_)\n" % \
-            (fill, namespace, name, namespace, name, cleanName)
+        s1 = "%s        outfile.write('<%%s%s>%%e</%%s%s>\\n' %% (namespace_, %s_, namespace))\n" % \
+            (fill, name, name, cleanName)
         outfile.write(s1)
     else:
         if name == child.getType():
-            s1 = "%s        %s_.export(outfile, level)\n" % (fill, mappedName)
+            s1 = "%s        %s_.export(outfile, level, namespace_)\n" % (fill, mappedName)
         else:
-            s1 = "%s        %s_.export(outfile, level, name_='%s', namespace_='%s')\n" % \
-                (fill, mappedName, cleanName, namespace)
+            s1 = "%s        %s_.export(outfile, level, namespace_, name_='%s')\n" % \
+                (fill, mappedName, cleanName)
         outfile.write(s1)
 
 
@@ -1230,8 +1230,8 @@
         outfile.write(s1)
         s1 = '%s                showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s                outfile.write('<%s%s>%%s</%s%s>\\n' %% quote_xml(self.get%s()))\n" % \
-            (fill, namespace, name, namespace, name, make_gs_name(cleanName))
+        s1 = "%s                outfile.write('<%%s%s>%%s</%%s%s>\\n' %% (namespace_, quote_xml(self.get%s()), namespace_))\n" % \
+            (fill, name, name, make_gs_name(cleanName))
         outfile.write(s1)
     elif child.getType() in IntegerType or \
         child.getType() == PositiveIntegerType or \
@@ -1240,37 +1240,37 @@
         child.getType() == NonNegativeIntegerType:
         s1 = '%s            showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s            outfile.write('<%s%s>%%d</%s%s>\\n' %% self.get%s())\n" % \
-            (fill, namespace, name, namespace, name, make_gs_name(cleanName))
+        s1 = "%s            outfile.write('<%%s%s>%%d</%%s%s>\\n' %% (namespace_, self.get%s(), namespace_))\n" % \
+            (fill, name, name, make_gs_name(cleanName))
         outfile.write(s1)
     elif child.getType() == BooleanType:
         s1 = '%s            showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s            outfile.write('<%s%s>%%s</%s%s>\\n' %% lower(str(self.get%s())))\n" % \
-            (fill, namespace, name, namespace, name, make_gs_name(cleanName))
+        s1 = "%s            outfile.write('<%%s%s>%%s</%%s%s>\\n' %% (namespace_, lower(str(self.get%s())), namespace_))\n" % \
+            (fill, name, name, make_gs_name(cleanName))
         outfile.write(s1)
     elif child.getType() == FloatType or \
         child.getType() == DecimalType:
         s1 = '%s            showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s            outfile.write('<%s%s>%%f</%s%s>\\n' %% self.get%s())\n" % \
-            (fill, namespace, name, namespace, name, make_gs_name(cleanName))
+        s1 = "%s            outfile.write('<%%s%s>%%f</%%s%s>\\n' %% (namespace_, self.get%s(), namespace_))\n" % \
+            (fill, name, name, make_gs_name(cleanName))
         outfile.write(s1)
     elif child.getType() == DoubleType:
         s1 = '%s            showIndent(outfile, level)\n' % fill
         outfile.write(s1)
-        s1 = "%s            outfile.write('<%s%s>%%e</%s%s>\\n' %% self.get%s())\n" % \
-            (fill, namespace, name, namespace, name, make_gs_name(cleanName))
+        s1 = "%s            outfile.write('<%%s%s>%%e</&%s%s>\\n' %% (namespace_, self.get%s(), namespace_))\n" % \
+            (fill, name, name, make_gs_name(cleanName))
         outfile.write(s1)
     else:
         s1 = "%s            if self.%s:\n" % (fill, mappedName)
         outfile.write(s1)
         if name == child.getType():
-            s1 = "%s                self.%s.export(outfile, level)\n" % \
+            s1 = "%s                self.%s.export(outfile, level, namespace_)\n" % \
                 (fill, mappedName)
         else:
-            s1 = "%s                self.%s.export(outfile, level, name_='%s', namespace_='%s')\n" % \
-                (fill, mappedName, name, namespace)
+            s1 = "%s                self.%s.export(outfile, level, namespace_, name_='%s')\n" % \
+                (fill, mappedName, name)
         outfile.write(s1)
 
 
@@ -1330,7 +1330,7 @@
         if element.isMixed():
             s1 = "        for item_ in self.content_:\n"
             outfile.write(s1)
-            s1 = "            item_.export(outfile, level, name_, namespace_)\n"
+            s1 = "            item_.export(outfile, level, namespace_, name_)\n"
             outfile.write(s1)
         else:
             for child in element.getChildren():
@@ -1361,22 +1361,22 @@
 def generateExportFn(outfile, prefix, element, namespace):
     childCount = countChildren(element, 0)
     base = element.getBase()
-    s1 = "    def export(self, outfile, level, name_='%s', namespace_='%s'):\n" % \
-        (element.getName(), namespace)
+    s1 = "    def export(self, outfile, level, namespace_='%s', name_='%s'):\n" % \
+        (namespace, element.getName())
     outfile.write(s1)
     s1 = '        showIndent(outfile, level)\n'
     outfile.write(s1)
     s1 = "        outfile.write('<%s%s' % (namespace_, name_))\n"
     outfile.write(s1)
-    s1 = "        self.exportAttributes(outfile, level, name_='%s', namespace_='%s')\n" % \
-        (element.getName(), namespace)
+    s1 = "        self.exportAttributes(outfile, level, namespace_='%s', name_='%s')\n" % \
+        (namespace, element.getName())
     outfile.write(s1)
     if element.isMixed():
         s1 = "        outfile.write('>')\n"
     else:
         s1 = "        outfile.write('>\\n')\n"
     outfile.write(s1)
-    s1 = "        self.exportChildren(outfile, level + 1, name_, namespace_)\n"
+    s1 = "        self.exportChildren(outfile, level + 1, namespace_, name_)\n"
     outfile.write(s1)
     if element.isMixed() or childCount == 0:
         s1 = "        outfile.write('</%s%s>\\n' % (namespace_, name_))\n"
@@ -1386,14 +1386,14 @@
         outfile.write(s1)
         s1 = "        outfile.write('</%s%s>\\n' % (namespace_, name_))\n"
         outfile.write(s1)
-    s1 = "    def exportAttributes(self, outfile, level, name_='%s', namespace_='%s'):\n" % \
-        (element.getName(), namespace)
+    s1 = "    def exportAttributes(self, outfile, level, namespace_='%s', name_='%s'):\n" % \
+        (namespace, element.getName())
     outfile.write(s1)
     hasAttributes = 0
     if base and base not in SimpleTypeDict:
         hasAttributes += 1
-        s1 = "        %s.exportAttributes(self, outfile, level, name_='%s', namespace_='%s')\n" % \
-            (base, element.getName(), namespace)
+        s1 = "        %s.exportAttributes(self, outfile, level, namespace_='%s', name_='%s')\n" % \
+            (base, namespace, element.getName())
         outfile.write(s1)
     hasAttributes += generateExportAttributes(outfile, element, hasAttributes)
     if hasAttributes == 0:
@@ -1402,13 +1402,13 @@
 ##    if len(element.getChildren()) > 0 and not element.isMixed():
 ##        s1 = '        showIndent(outfile, level)\n'
 ##        outfile.write(s1)
-    s1 = "    def exportChildren(self, outfile, level, name_='%s', namespace_='%s'):\n" % \
-        (element.getName(), namespace)
+    s1 = "    def exportChildren(self, outfile, level, namespace_='%s', name_='%s'):\n" % \
+        (namespace, element.getName())
     outfile.write(s1)
     hasChildren = 0
     if base and base not in SimpleTypeDict:
         hasChildren += 1
-        s1 = "        %s.exportChildren(self, outfile, level, name_, namespace_)\n" % (base, )
+        s1 = "        %s.exportChildren(self, outfile, level, namespace_, name_)\n" % (base, )
         outfile.write(s1)
     hasChildren += generateExportChildren(outfile, element, hasChildren, namespace)
     if childCount == 0:
