caox wrote:
David Bertoni 写道:
caox wrote:
Alberto Massari 写道:
Have a look at the MemParse sample.

Alberto

caox wrote:
Hi
   I am using the xercesc3.0.1 for xml parsing.
How can I check whether the input source from a byte steam is well-formed xml format? Since I want my program to raise an exception when it receives files other than xml.
   Appreciate your help.


Thanks a lot. I have tried the sample DOMPrint which could throw an exception as expect when encountered a bad-formed xml file. But when I use xqilla to create a DOMParser, it seems can accept all kinds of files. The code is below:

AutoRelease<DOMLSParser> parser(xqillaImplementation->createLSParser(DOMImplementationLS::MODE_SYNCHRONOUS, 0));

And this puzzled me a lot.
Did you create a custom ErrorHandler instance and install it in the parser?

Dave


I didn't.But how to install a ErrorHandler instance in a DOMLSParser instance. I don't find the setXXX() method for this.
OK, you actually need a DOMErrorHandler, rather than an ErrorHandler.

The DOMPrint sample application has an example of setting the correct DOMConfiguration property. To adapt it to your use, just call DOMLSParser::getDomConfig() and the set the property:

    DOMErrorHandler* myErrorHandler = new myDOMErrorHandler();
    DOMConfiguration* config = parser->getDomConfig();
    config->setParameter(XMLUni::fgDOMErrorHandler, myErrorHandler);

Dave

Reply via email to