[Zope3-dev] zope.tal.xmlparser.XMLParser() dislikes unicode
Bernd Dorn
zope-mailinglist at mopa.at
Sun Jan 14 04:48:06 EST 2007
On 13.01.2007, at 18:49, Andreas Jung wrote:
> Hi,
>
> the XMLParser.parseString() method raises an exception
>
> File "/opt/python-2.4.4/lib/python2.4/unittest.py", line 260, in run
> testMethod()
> File "/Users/ajung_data/sandboxes/Zope/Zope/lib/python/zope/tal/=20
> tests/test_xmlparser.py", line 127, in test_xx
> self._run_check(xml, ())
> File "/Users/ajung_data/sandboxes/Zope/Zope/lib/python/zope/tal/=20
> tests/test_xmlparser.py", line 106, in _run_check
> parser.parseString(source)
> File "/Users/ajung_data/sandboxes/Zope/Zope/lib/python/zope/tal/=20
> xmlparser.py", line 77, in parseString
> self.parser.Parse(s, 1)
> UnicodeEncodeError: 'ascii' codec can't encode characters in =20
> position 43-48: ordinal not in range(128)
>
> if the string to be parsed is a unicode strings and contains some =20
> non-ascii
> chars. The following snippet from a private unittest =20
> (test_xmlparsers.py)
> shows the error.
>
> def test_xx(self):
> xml =3D unicode('<?xml version=3D"1.0" encoding=3D"utf-8"?=20
> ><foo>=C3=BC=C3=B6=C3=A4</foo>', 'iso-8859-15')
> self._run_check(xml, ())
>
> I am not sure if this behavior is intentional?! Is the XMLParser =20
> supposed
> to deal with unicode strings or will it only accept a standard =20
> Python string? A workaround inside parseString() would to check for =20=
> unicode
> and convert the string on-the-fly to a Python string with utf-8 =20
> encoding.
> This is possibly a limitation of the underlying Expat parser...any =20
> recommendation how to deal with this issue?
IMHO it should only accept strings, because in the value should be a =20
xml string and therefore always has to be encoded in 'utf-8' or in =20
the encoding specified in the processing instruction.
Bernd
>
> Andras
>
>
>
>
> _______________________________________________
> Zope3-dev mailing list
> Zope3-dev at zope.org
> Unsub: http://mail.zope.org/mailman/options/zope3-dev/zope-=20
> mailinglist%40mopa.at
>
More information about the Zope3-dev
mailing list