Re: [xml] Problems with realtime XML processing using xmlreader interface



On Mon, May 26, 2003 at 09:57:40AM +0200, Jacek Konieczny wrote:

The first is that the xmlreader interface is broken when used to process
XML streams as they come. The Expand function assumes a node is fully
read, when it finds the next node instead of waiting just for the end of

  It's not broken, it's Expand semantic. For Jabber like applications
use the Next() interface !

This fixes the libxml2 library, but the python bindings are also broken 
- high-level IO routines are used (like C fopen()) which block when all
requested data is not available. So even when whole node is available on 
input stream it will be not processed unless whole chunk is read. But

  Right it's a performance trade-off, a flush kind of interface would be
neeeded.

the node usually is shorter than a chunk. This is also reported in
bugzilla: http://bugzilla.gnome.org/show_bug.cgi?id=113578
The bug report also contains a simple workaround.

The patch and the workaround together fix all the "blocking" problems
for me. I hope some solution will be included in the next official
libxml2 release.

  I will look at it, but without adding an interface I don't see how
this could be fixed in a correct way.

Daniel

-- 
Daniel Veillard      | Red Hat Network https://rhn.redhat.com/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]