Вопрос

Я хочу загрузить XML-документ в Xerces-C++ (версия 2.8 для Linux) и проверить его, используя схему DTD, на которую нет ссылки в документе.Я попробовал следующее:

XercesDOMParser parser;
parser.loadGrammar("grammar.dtd", Grammar::DTDGrammarType);
parser.setValidationScheme(XercesDOMParser::Val_Always);
parser.parse("xmlfile.xml");

Но это не указывает на ошибку, если документ недействителен.Что мне не хватает?

Это было полезно?

Решение

Вам нужно будет установить обработчик ошибок перед вызовом синтаксического анализа, если вы хотите что-нибудь увидеть:

Handler handler;    
parser.setErrorHandler( &handler );

где Handler — это класс, производный от Обработчик ошибок

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top