Eva, It sounds like the problem you are describing was the following bug: * Revision 1.5 2001/08/07 17:01:09 tng * [Bug 2676] IDOM: pure virtual called in IDDeepNodeListImpl::item() .
So you'll need to update to a build that's at least newer than 2001/08/07 (http://xml.apache.org/dist/xerces-c/nightly/). I've also pasted below a posting that compares DOM and IDOM performance. The IDOM seems stable and well supported. - Dennis Hey All, I just did some memory checks and timing of DOM vs IDOM. I thought I'd post them in case people were interested: Test File ========= $ ll DrosGenome1_BioSequence.xml -rw-r--r-- 1 jasons jasons 10022430 Sep 7 10:52 DrosGenome1_BioSequence.xml 10Mb file, ~170k elements. IDOM ==== $ memwatch.pl IDOMCount -v=never DrosGenome1_BioSequence.xml Memory Usage for process 14375 = 3712 kB Memory Usage for process 14375 = 15404 kB Memory Usage for process 14375 = 23016 kB Memory Usage for process 14375 = 30064 kB Memory Usage for process 14375 = 36652 kB DrosGenome1_BioSequence.xml: 24482 ms (172011 elems). DOM ==== $ memwatch.pl DOMCount -v=never DrosGenome1_BioSequence.xml Memory Usage for process 14377 = 3712 kB Memory Usage for process 14377 = 16484 kB Memory Usage for process 14377 = 25848 kB Memory Usage for process 14377 = 35228 kB Memory Usage for process 14377 = 44620 kB Memory Usage for process 14377 = 54000 kB Memory Usage for process 14377 = 63368 kB Memory Usage for process 14377 = 72732 kB DrosGenome1_BioSequence.xml: 36587 ms (172011 elems). Memory Usage for process 14377 = 75772 kB Memory Usage for process 14377 = 75772 kB So IDOM has about half the memory usage for a 100Mb file and parses it in 2/3 the time Perl API ======== Just for the curious here are the corresponding results for the Perl API IDOM ==== $ memwatch.pl perl samples/IDOMCount.pl -v=never DrosGenome1_BioSequence.xml Memory Usage for process 14364 = 3712 kB Memory Usage for process 14364 = 19748 kB Memory Usage for process 14364 = 27376 kB Memory Usage for process 14364 = 34424 kB Memory Usage for process 14364 = 41008 kB Memory Usage for process 14364 = 47264 kB DrosGenome1_BioSequence.xml: duration: 26 wallclock secs (23.68 usr + 0.35 sys = 24.03 CPU) (172011 elems) Only slightly slower, with about 25% more memory usage DOM ==== $ memwatch.pl perl samples/DOMCount.pl -v=never DrosGenome1_BioSequence.xml Memory Usage for process 14366 = 3712 kB Memory Usage for process 14366 = 22248 kB Memory Usage for process 14366 = 32004 kB Memory Usage for process 14366 = 41792 kB Memory Usage for process 14366 = 51552 kB Memory Usage for process 14366 = 61264 kB Memory Usage for process 14366 = 70920 kB Memory Usage for process 14366 = 80600 kB DrosGenome1_BioSequence.xml: duration: 36 wallclock secs (34.75 usr + 0.47 sys = 35.22 CPU) (172011 elems) Seems to be about the same speed with < 10% more memory usage. jas. -----Original Message----- From: Eva Ko [mailto:[EMAIL PROTECTED]] Sent: Thursday, September 27, 2001 1:18 PM To: [EMAIL PROTECTED] Subject: Re: getElementsByTagName in IDOM Hi, I am trying to us IDOM_Document::getElementsByTagName im the following code, and I got a code dump. I am using the stable built from xerces-c-src_2001-07-17, my plateform is solaris Any idea why? Also, Have any one use IDOM, is it pretty save in general?? I am writing new application that will use DOM parser, not sure if I should stick with DOM or IDOM. Thanks for your reply in advance. Here is the code: IDOM_Node *doc = parser->getDocument(); IDOM_Document *document = parser->getDocument(); std::cout << " got the document" << std::endl; IDOM_NodeList *list; char * str = "CommandIndex"; cout << " CommandIndex: " << str << endl; list = document->getElementsByTagName(XMLString::transcode(str) ); std::cout << " got the list " << std::endl; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
