I don't use libxml2 either but if you'd like to use Microsoft's MSXML4
#import <msxml4.dll>
using namespace MSXML2;
CString SchemaValidator::validateFile(CString file)
{
IXMLDOMDocument2Ptr pXMLDoc = NULL;
MSXML2::IXMLDOMParseErrorPtr pError = NULL;
_bstr_t strFile = (LPCTSTR)file;
pXMLDoc.CreateInstance(__uuidof(DOMDocument40));
pXMLDoc->async = VARIANT_FALSE;
pXMLDoc->validateOnParse = VARIANT_TRUE;
pXMLDoc->resolveExternals = VARIANT_TRUE;
pXMLDoc->load(strFile);
pError = pXMLDoc->parseError;
if (pError->errorCode != S_OK)
{
CString res;
res.Format("Reason: %s, Line: %d \"%s\"", (char *)pError->Getreason(), pError->Getline(), (char *)pError->GetsrcText());
res.Replace("\r\n", "");
return res;
}
else
return CString();
}
</msxml4.dll>