Use native python instead of external pyxml dependency.  Patch from Debian.

https://bugs.gentoo.org/367733


--- a/README.txt
+++ b/README.txt
@@ -15,9 +15,8 @@ universal and easy to use for desktop users and developers.
 Requirements
 ~~~~~~~~~~~~
 
-   - Python >= 2.3
-   - wxPython 2.6
-   - python-xml (PyXML)
+   - Python >= 2.4
+   - wxPython >= 2.6
    - gettext >= 0.14
 
 
--- a/lib/xmltools.py
+++ b/lib/xmltools.py
@@ -20,7 +20,6 @@
 #
 
 import xml.dom.minidom
-import xml.dom.ext
 
 from lib import meta
 
@@ -30,7 +29,7 @@ def _textData(element):
 
     text = ''
     for node in element.childNodes:
-        text = node.data
+        text = node.data.strip()
 
     return text
 
@@ -99,7 +98,7 @@ class RegisterConfigGenerator:
                                                    or ''))
 
         return doc
-    
+
 
 def generatePlainDictConfig(**args):
     """Generate configuration and return DOM object"""
@@ -113,10 +112,11 @@ def generatePlainDictConfig(**args):
 def writePlainDictConfig(doc, path):
     """Write XML file"""
 
-    fd = open(path, 'w')
-    xml.dom.ext.PrettyPrint(doc, fd)
+    import codecs
+    fd = codecs.open(path, 'w', 'utf-8')
+    doc.writexml(fd, addindent = "  ", newl = "\n", encoding = "UTF-8")
     fd.close()
-    
+
 
 
 class RegisterConfigParser:
@@ -144,32 +144,32 @@ class RegisterConfigParser:
         
         for nameElement in registerElement.getElementsByTagName('name'):
             for node in nameElement.childNodes:
-                name = node.data
+                name = node.data.strip()
 
         for formatElement in registerElement.getElementsByTagName('format'):
             for node in formatElement.childNodes:
-                format = node.data
+                format = node.data.strip()
 
         for pathElement in registerElement.getElementsByTagName('path'):
             for node in pathElement.childNodes:
-                path = node.data
+                path = node.data.strip()
 
         for versionElement in registerElement.getElementsByTagName('version'):
             for node in versionElement.childNodes:
                 version = node.data.strip()
 
         for authorElement in registerElement.getElementsByTagName('author'):
-            authors.append({'name': authorElement.getAttribute('name'),
-                            'email': authorElement.getAttribute('email')})
+            authors.append({'name': authorElement.getAttribute('name').strip(),
+                            'email': authorElement.getAttribute('email').strip()})
 
         for md5Element in registerElement.getElementsByTagName('md5'):
             for node in md5Element.childNodes:
-                md5 = node.data
+                md5 = node.data.strip()
 
         for encodingElement in \
                 registerElement.getElementsByTagName('encoding'):
             for node in encodingElement.childNodes:
-                encoding = node.data
+                encoding = node.data.strip()
 
         for licenceElement in \
                 registerElement.getElementsByTagName('licence'):
@@ -241,8 +241,9 @@ def generateIndexFile(index):
 def writeIndexFile(doc, path):
     """Write XML file"""
 
-    fd = open(path, 'wb')
-    xml.dom.ext.PrettyPrint(doc, fd)
+    import codecs
+    fd = codecs.open(path, 'wb', 'utf-8')
+    doc.writexml(fd, addindent = "  ", newl = "\n", encoding = "UTF-8")
     fd.close()
 
 
@@ -511,7 +512,8 @@ def generateMainConfig(props):
 def writeConfig(doc, path):
     """Write XML file"""
 
-    fd = open(path, 'w')
-    xml.dom.ext.PrettyPrint(doc, fd)
+    import codecs
+    fd = codecs.open(path, 'w', 'utf-8')
+    doc.writexml(fd, addindent = "  ", newl = "\n", encoding = "UTF-8")
     fd.close()
 
--- a/opendict.py
+++ b/opendict.py
@@ -53,16 +53,6 @@ except ImportError:
     print >> sys.stderr, "**"
     sys.exit(1)
 
-
-try:
-    import xml.dom.ext
-except ImportError:
-    print >> sys.stderr, "**"
-    print >> sys.stderr, "** Error: Python/XML library not found"
-    print >> sys.stderr, "** Please install python-xml (PyXML) to run OpenDict"
-    print >> sys.stderr, "**"
-    sys.exit(1)
-
 # get_main_dir() returns the directory name of the script or the
 # directory name of the exe
 def get_main_dir():