[Expat-discuss] Large data sets (Expat v2.0.0; compiled cygwin)

Andre Luis Monteiro andrelsm at iname.com
Tue May 15 19:46:07 CEST 2007


Keitch

take a look at expat-2.0.0/examples/outline.c in your distro (some previous Expat versions bring this example too).

[]
andrelsm

> ----- Original Message -----
> From: "Ben Keitch" <bkeitch at googlemail.com>
> To: expat-discuss at libexpat.org
> Subject: [Expat-discuss] Large data sets (Expat v2.0.0; compiled cygwin)
> Date: Tue, 15 May 2007 17:02:52 +0100
> 
> 
> Can someone help me with this code. It is trying to convert an XML file of
> book data to tab-deliminated. Should be simple, but it seems to mangle about
> 200 of the 10000 records I give it. Supplying each record by itself, it
> works fine. I don't understand why, but not being a C programmer, I dare say
> I am mangling pointers, or there is a multithread issue I don't understand.
> 
> here is a typical error:
> given lines 3380-3383 in a 917682 long XML file (it is well-formed according
> to xmlwf):
> 
> <record>
> <ISBN10>0816044384</ISBN10>
> <ISBN13>9780816044382</ISBN13>
> <EAN>9780816044382</EAN>
> ...
> </record>
> 
> the data given to the data handler (and printed to stderr) is:
> 
> Data: 9780816   Data: 044382
> Error : isbn10: 0816044384      isbn: 382       isbn13: 044382
> Data:
> Data: 9780816044382
> 
> So in this case, ISBN10 was correct, but ISBN13 only got the last 6 digits
> on the first call, but managed to get all the data on the third call (the
> second call gives a blank line! why?)
> 
> If you give just this XML record to the program, it works fine.
> 
> Any help greatly appreciated
> << processfile.c >>
> << Makefile >>
> 
> _______________________________________________
> Expat-discuss mailing list
> Expat-discuss at libexpat.org
> http://mail.libexpat.org/mailman/listinfo/expat-discuss

>



abraço
André Luís


=



More information about the Expat-discuss mailing list