Hi Daniel. Thanks for your fast answer!

On Thu, 17 Feb 2005 16:16:40 -0500, Daniel Veillard <[EMAIL PROTECTED]> wrote:
> On Thu, Feb 17, 2005 at 08:59:24PM +0100, Aron Stansvik wrote:
> > Hello xml readers.
> >
> > Because of some peoples misuse of XML, I'm now writing a simple
> > wxWidgets application that needs to process huge XML documents. I've
> > tested that the libxml2 Reader API can handle the load well.
> >
> > Now I want my application to give some kind of progress feedback to
> > the user. Is there a way to obtain the number of bytes read when using
> > a Reader obtained using the simple xmlReaderForFile() function, or
> > will I have to set up my own custom I/O handlers with
> > xmlReaderForIO()? I can't find any example usage of this function
> > anywhere, and I having a bit of a hard time deciphering how it
> > actually works. Googling for "xmlReaderForIO" only gives 10 hits (!).
> >
> > My plan is to just stat() the file for it's size before processing it,
> > and then use the number of bytes read to calculate progress, so all I
> > need is the position in the input stream that libxml2 uses.
> 
>  There is number of simplifications in your approach, like external
> parsed entities, encoding conversions.

I know I know, it would be horribly inaccurate if it wasn't for the
fact that I know the exact anatomy of the XML documents I'll be
processing, they are very flat and homogenous. Now it'll just be,
ehum, inaccurate :) The progress information isn't a dead requirement,
just a bonus, and I don't feel like spending any more time
implementing it than I have to. It won't have an ETA count, just a
progress bar the poor user can look at every once in a while and see
that it's doing something.

>  http://xmlsoft.org/html/libxml-parser.html#xmlByteConsumed
>  From a normal parser you can call this. This is more complex
> than you may think. I don't think on can get the parsr from a reader
> but the option exists.

If I can't get the parser context from a reader, then the option of
using xmlByteConsumed() doesn't exist. What option are you referring
to? :/

> > Greatful for any advice and examples of using custom I/O with the
> > Reader API. I've looked at the custom I/O code samples at xmlsoft.org,
> 
>  It's like the I/O from other APIs !
> 
>    http://xmlsoft.org/xmlio.html#Example2
>    http://xmlsoft.org/examples/index.html#InputOutput

Ah, I somehow missed that first link, thanks. The color scheme and
layout of xmlsoft.org isn't really top-notch IMHO ;)

Thanks again. I'll have to think this over. How would you go about
implementing coarse progress information for a reader?

Aron
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
xml@gnome.org
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to