[XML-SIG] [ pyxml-Bugs-437035 ] PrettyPrint unicode problem with attribu

noreply@sourceforge.net noreply@sourceforge.net
Thu, 28 Jun 2001 04:05:31 -0700


Bugs item #437035, was opened at 2001-06-28 04:05
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=106473&aid=437035&group_id=6473

Category: 4Suite
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Alexandre Fayolle (afayolle)
Assigned to: Nobody/Anonymous (nobody)
Summary: PrettyPrint unicode problem with attribu

Initial Comment:
I have problems when PrettyPrinting documents with
latin-1 characters in attribute values.

Sample script:

from xml.dom.ext.reader import Sax2
from xml.dom.ext import PrettyPrint

d = Sax2.FromXml('''<?xml version="1.0"
encoding="iso-8859-1"?><d foo="été"/>''')
print '-'*15
PrettyPrint(d)
print '-'*15
PrettyPrint(d,encoding='iso-8859-1')


Output:

---------------
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE d>
<d foo='été'/>
---------------
<?xml version='1.0' encoding='iso-8859-1'?>
<!DOCTYPE d>
<d fooTraceback (most recent call last):
  File "bug.py", line 8, in ?
    PrettyPrint(d,encoding='iso-8859-1')
  File
"/usr/lib/python2.1/site-packages/_xmlplus/dom/ext/__init__.py",
line 82, in PrettyPrint
    Printer.PrintWalker(visitor, root).run()
  File
"/usr/lib/python2.1/site-packages/_xmlplus/dom/ext/Printer.py",
line 384, in run
    return self.step()
  File
"/usr/lib/python2.1/site-packages/_xmlplus/dom/ext/Printer.py",
line 380, in step
    self.visitor.visit(self.start_node)
  File
"/usr/lib/python2.1/site-packages/_xmlplus/dom/ext/Printer.py",
line 186, in visit
    return self.visitDocument(node)
  File
"/usr/lib/python2.1/site-packages/_xmlplus/dom/ext/Printer.py",
line 232, in visitDocument
    self.visitNodeList(node.childNodes,
exclude=node.doctype)
  File
"/usr/lib/python2.1/site-packages/_xmlplus/dom/ext/Printer.py",
line 202, in visitNodeList
    curr is not exclude and self.visit(curr)
  File
"/usr/lib/python2.1/site-packages/_xmlplus/dom/ext/Printer.py",
line 162, in visit
    return self.visitElement(node)
  File
"/usr/lib/python2.1/site-packages/_xmlplus/dom/ext/Printer.py",
line 266, in visitElement
    self.visitAttr(attr)
  File
"/usr/lib/python2.1/site-packages/_xmlplus/dom/ext/Printer.py",
line 219, in visitAttr
    self._write("=%s%s%s" % (delimiter, text,
delimiter))
  File
"/usr/lib/python2.1/site-packages/_xmlplus/dom/ext/Printer.py",
line 146, in _write
    obj = utf8_to_code(text, self.encoding)
  File
"/usr/lib/python2.1/site-packages/_xmlplus/dom/ext/Printer.py",
line 45, in utf8_to_code
    text = unicode(text, "utf-8")
UnicodeError: UTF-8 decoding error: invalid data



Platform : Python 2.1, PyXML from CVS, and 4Suite
0.11.1b2

----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=106473&aid=437035&group_id=6473