salve,
ho incontrato il seguente problema utilizzando il parser DOM delle librerie XERCES (C++).
Non riesco a capire come fare a famri validare il documento XML tramite un XML-SCHEMA.
IL mio documento è della forma

<PRINCIPALE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd">
....
<PRINCIPALE>


come faccio a farmi validare solo i documenti che rispettano la gammatica del file schema.xsd?

Ho provato con il seguente codice

XercesDOMParser* parser = new XercesDOMParser();
parser->setValidationScheme (XercesDOMParser::Val_Always);
parser->setDoValidation(true);
parser->setDoNamespaces(true);
parser->setDoSchema(true);
parser->setExternalNoNamespaceSchemaLocation("schema.xsd" );
try
{
parser->parse ("path");
return parser->getDocument();
}
catch (const OutOfMemoryException&)
{
return NULL;
}
catch (const XMLException&)
{
return NULL;
}
catch (const DOMException&)
{
return NULL;
}
catch (...)
{
return NULL;
}
delete errHandler;


ma mi parsa (senza errore) tutti i documenti e mi da errore solo per i file "non ben formati" (es. tag non chiuso).
Quello che vorrei, visto che devo caricare diversi file che rispettano lo stesso schema è
che quando il parser trova un file che non è valdato dalla grammatica mi generi un eccezione.
Spero possaite aiutarmi, grazie,
ciao