Hi,

I am using a very old veriosn of Xerces-C xml parser. it is running on unix
solaris.
We have be using it for very long time and it works okey.

However, we observe a strange behavior occasionally.
sometime the parser complain that it can't  open the dtd even though the dtd
can be access from the machine that the xml parser is running.
In the error, it printed out the exact path of the dtd. I try to do a list on
the path, and the dtd is there and can be view by the command line ( like
using vi)
but the xml parser complain it can't open the dtd.

this problem goes away when we restart the process.


Anyone know if this is a known/old problem , or it has sth to do with
external environment setup???

here is how the code tell the parser where to look for the dtd ( using
MemBufInputSource, some initialization of the parser is  omitted ):


 // do the following before...  XMLPlatformUtils::Initialize()

 parser = new XercesDOMParser();

    MemBufInputSource* memBufIS = new MemBufInputSource(
                                                     (const XMLByte*
)inputName.data(),
                                                     inputName.length(),
                                                     dummyId,
                                                     false );
   XMLCh * dtd_path = XMLString::transcode(dtd_dir.data());

                        memBufIS->setSystemId( dtd_path );

                        delete [] dtd_path ;
 parser->parse(*memBufIS);

** Any help is greatly appreicated.

thanks

Eva


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to