What do you mean by "doesn't work"? It throws an exception you didn't expect, it doesn't find validation errors....

Alberto

evangeline wrote:
Hi, I'm trying to validate my xml file with appropriate xsd schema, but the
code doesn't work:

bool NewTab::validate_xml_against_xsd() {
    /* initialize xerces system before usig API: DOM, SAX, SAX2 */
    try {
        xercesc::XMLPlatformUtils::Initialize();
} catch (const XMLException &e) {
        char *message = XMLString::transcode(e.getMessage());
        qDebug() << "Error during XML initialization: " << message << endl;
        XMLString::release(&message);
        //return;
    }

    /* actual xerces work */
    char *xml_file = "sales2.xml";
    char *xml_schema = "Sales.xsd";
    SAXParser *parser = new SAXParser();
    //parser->setDoValidation(true);
    parser->setDoNamespaces(true);

    DocumentHandler *doc_handler = new HandlerBase();
    ErrorHandler *err_handler = (ErrorHandler *)doc_handler;
    parser->setDocumentHandler(doc_handler);
    parser->setErrorHandler(err_handler);
try {
        parser->setExternalSchemaLocation(xml_schema);
        parser->parse(xml_file);
        return true;
} catch (const XMLException &e) {
        char *message = XMLString::transcode(e.getMessage());
        qDebug() << "XML Exception is: " << message << endl;
        XMLString::release(&message);
    }
    catch(...) {
        qDebug() << "XML Unexpected exception" << endl;
    }

    delete parser;
    delete doc_handler;

    /* terminate and cleanup */
    XMLPlatformUtils::Terminate();

    return false;
}

Any ideas what am I doing wrong? Thank you in advace...


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to