There is something weird going on with xml.sax exceptions, probably related to the xml/xmlcore shuffle: from xml.sax import make_parser, SAXParseException from StringIO import StringIO parser = make_parser() try: parser.parse(StringIO('invalid')) except SAXParseException: print 'caught it!' On python 2.4.3 this prints "caught it!". On python 2.5b1 the exception is not caught, because it is a different exception: an xmlcore.sax._exceptions.SAXParseException. Printing the SAXParseException imported from xml.sax gives "<class 'xml.sax._exceptions.SAXParseException'>". Stumbled on this running the logilab-common (see logilab.org) tests with python 2.5b1, but it seems likely other code will be affected.
Logged In: YES user_id=3066 I've managed to come up with a patch that solves this specific issue, but it really deals with the symptom and not the real problems. While I think the "xmlcore" package was the right idea, I'm not convinced it can be correctly implemented without enormous effort at this time. Given the release schedule, it doesn't make sense to jump through those hoops. The previous hackery that made allowed the PyXML distribution to "replace" the standard library version of the "xml" package worked only because there was only one public name for whichever was being used. Moving to the "xmlcore" package proved to be more than that hack could support. I think the right thing to do for Python 2.5 is to revert the changes that added the "xmlcore" package. Further investigation into a better approach can be made for Python 2.6.
Logged In: YES user_id=3066 The xmlcore package has been reverted as of revision 50941. This problem report no longer applies, but a test has been added as part of the removal of the xmlcore package to ensure this does not re-surface.