Hello, working on a C++ project we are trying to parse a very large XML file using Xerces-C version 3.1.1
We have encountered a problem due to the hard-coded limits defined at line 33 in file src/xercesc/dom/impl/DOMNodeIDMap.cpp : static const XMLSize_t gPrimes[] = {997, 9973, 99991, 999983, 0 }; // To do - add a few more. The parsing of our fails with the following message: NodeIDMap exceeds largest available size at line: 1321916 We think that the source of the error is the constructor of DOMNodeIDMap (line 49 of the same file). To solve the issue we have modified line 33 to: static const XMLSize_t gPrimes[] = {997, 9973, 99991, 999983, 9999991, 99999989, 0 }; // To do - add a few more. If we understand correctly the hashing mechanism, the only requirement on gPrimes is to be prime numbers. Is this correct? Do you think this modification may have other side-effects? Thank you, Andrea Dotti