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

Régis St-Gelais regis.st-gelais at laubrass.com
Tue May 15 19:55:48 CEST 2007


The data between your tag can be splitted and sent to your handler in separate calls.
It is stated in the docs.

Your handler can be called with 08160 and then with 44384

---
Regis St-Gelais
Laubrass inc.


  ----- Original Message ----- 
  From: Ben Keitch 
  To: expat-discuss at libexpat.org 
  Sent: Tuesday, May 15, 2007 12:02 PM
  Subject: [Expat-discuss] Large data sets (Expat v2.0.0; compiled cygwin)


  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



------------------------------------------------------------------------------


  _______________________________________________
  Expat-discuss mailing list
  Expat-discuss at libexpat.org
  http://mail.libexpat.org/mailman/listinfo/expat-discuss


More information about the Expat-discuss mailing list