This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author eli.bendersky
Recipients eli.bendersky
Date 2013-09-02.00:03:40
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1378080221.59.0.577633252217.issue18902@psf.upfronthosting.co.za>
In-reply-to
Content
As issue #17741 shows in detail, there's a number of implementation problems in the current ET that make a fully non-blocking parser more difficult to implement than it should be.

The main problem is that XMLParser._setevents relies on internal implementation details of the default TreeBuilder to do some of its tasks.

This has to be decoupled from implementation details completely. An XMLParser already has a non-blocking input side (feed/close) and a callback "push" API to the target. The API has to be fully expanded to include start-ns/end-ns and any other events that are required to allow custom tree builders as targets. This would make it possible to layer XMLPullParser on top of the stock XMLParser coupled with a special target that collects "events" from the callback calls.
History
Date User Action Args
2013-09-02 00:03:41eli.benderskysetrecipients: + eli.bendersky
2013-09-02 00:03:41eli.benderskysetmessageid: <1378080221.59.0.577633252217.issue18902@psf.upfronthosting.co.za>
2013-09-02 00:03:41eli.benderskylinkissue18902 messages
2013-09-02 00:03:40eli.benderskycreate