Domanda

voglio caricare un documento XML in Xerces-C ++ (versione 2.8, sotto Linux), e convalidare utilizzando uno schema DTD non fa riferimento dal documento. Ho provato quanto segue:

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

Ma non indica un errore se il documento non è valido. Che cosa mi manca?

È stato utile?

Soluzione

È necessario impostare un gestore di errori prima di chiamare parse se si vuole vedere qualcosa:

Handler handler;    
parser.setErrorHandler( &handler );

dove Handler è una classe derivata da ErrorHandler

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top