Xerces-c: проверка файла XML с помощью файла xsd c ++ - PullRequest
1 голос
/ 27 декабря 2010

Я пытаюсь использовать Xerces-c.У меня есть схема .xsd, и я хочу использовать ее для проверки XML-файла.Я определил файл xsd и обработчик ошибок, но по какой-то причине xsd не выбрасывает ошибки.Есть идеи о том, чего мне не хватает?

    XercesDOMParser* parser = new XercesDOMParser();
    parser->setExternalNoNamespaceSchemaLocation("parser.xsd");
    parser->setExitOnFirstFatalError(true);
    parser->setValidationConstraintFatal(true);
    parser->setValidationScheme(XercesDOMParser::Val_Auto);
    parser->setDoNamespaces(true);    
    parser->setDoSchema(true);      

    ErrorHandler* errHandler = (ErrorHandler*) new HandlerBase();
    parser->setErrorHandler(errHandler);

    char* xmlFile = "sample.xml";

    try {
         ....
    } catch (const DOMException& e) {
         cout << "Exception.." << endl;
    }

Спасибо.

1 Ответ

1 голос
/ 30 декабря 2010

Что вы имеете в виду, когда говорите, что не видите ошибок? Вы ожидаете исключения? Если это ваше ожидание, то этого не произойдет, потому что вы установили ErrorHandler, как показано ниже. Попробуйте реализовать методы для вывода ошибок на консоль. Также опубликуйте свой XSD и XML

parser->setErrorHandler(errHandler);
...