[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