Fixed! Thank you very much ;o) 2010/9/13 Alberto Massari <[email protected]>
> The signature for characters() is wrong: you shouldn't use "const unsigned > int length", but "const XMLSize_t length". > On 64-bit systems, XMLSize_t expands to be a 64-bit unsigned integer. > > Alberto > > > On 9/11/2010 9:07 PM, Joan Puigcerver wrote: > >> Hello everyone. >> >> I'm developing a little project under GNU/Linux and I'm using Xerces-C to >> parse some XML files. I tested my program in three different machines: one >> with Ubuntu Desktop 10.04 32-bits, one with Ubuntu Desktop 10.04 64 bits >> and >> one with Ubuntu Server 10.04 64 bits. My Xerces-C version is 3.1.1. >> >> I wrote a derived class from DefaultHandler to parse large XML files and >> it >> worked very well under the 32 bits machine, but the function characters() >> is >> not being executed under both 64 bits machines. >> >> Here you have the full code of my project: >> http://svn.assembla.com/svn/oraclebacon/trunk/ >> >> Check out src/SAX*Handler.cpp and include/SAX*Handler.hpp files. There is >> a >> line in SAXPeopleHandler::characters that prints the text "here" and is >> not >> executed any time. I've tried the same in the other handler classes. But >> this only happens in 64 bits machines. My code works perfectly in the 32 >> bit >> machine. That is what I don't understand... >> >> You can look at my configure.ac and Makefile.am files which are used to >> build the program. I'm simply including the library "-lxerces-c" to >> compile >> the source files. >> >> Has anyone had this problem or any similar? >> >> Thank you. >> >> PS: If you want to obtain the XML and XSD file that I'm using, here you >> have: http://joapuipe.dyndns.org/xml.tar.gz >> >> > -- Joan Puigcerver Pérez Public GPG Key: http://pgp.rediris.es:11371/pks/lookup?op=get&search=0x69200C913F70D762
