Re: IXMLDOMSchemaCollection::add()
- From: "Petar Popara" <my.fake@xxxxxxxx>
- Date: Tue, 12 Jul 2005 11:12:44 +0200
> The method returns an error code, which #import-generated smart wrapper
> converts into _com_error exception. Catch the exception, see what the
> error code and error message is.
Error: "Validate failed because the root element had no associated
DTD/schema."
I don't understand this. This error occur in my implementation (Handler
class) of ISAXErrorHandler::error(), but this object is not assigned yet!:
//Create handler class
Handler * pEH = new Handler();
// Load schema from memory (resources) into DOMDocument
IXMLDOMDocument2Ptr domSchema = NULL;
HRESULT hr = domSchema.CreateInstance("Msxml2.DOMDocument.4.0");
BSTR xml = CString((char*)hRes, dwFileLength).AllocSysString();
domSchema->loadXML(xml);
SysFreeString(xml);
ISAXXMLReaderPtr pSAXReader = NULL;
hr = pSAXReader.CreateInstance(__uuidof(MSXML2::SAXXMLReader40));
IXMLDOMSchemaCollection2Ptr pSchema = NULL;
hr = pSchema.CreateInstance(__uuidof(MSXML2::XMLSchemaCache40));
try {
//An exception occur here and next line of code is Handler::error()
pSchema->add(L"", &CComVariant(domSchema));
} catch (_com_error e) {
AfxMessageBox(e.Description());
AfxMessageBox(e.ErrorMessage());
} catch (...) {
AfxMessageBox("Unknown error.");
}
pSAXReader->putFeature(MUS("schema-validation"), VARIANT_TRUE);
pSAXReader->putProperty(MUS("schemas"),
CComVariant(pSchema.GetInterfacePtr()));
//Handler was assigned here! Not before this line.
hr = pSAXReader->putErrorHandler(pEH);
.
- Follow-Ups:
- Re: IXMLDOMSchemaCollection::add()
- From: Petar Popara
- Re: IXMLDOMSchemaCollection::add()
- References:
- IXMLDOMSchemaCollection::add()
- From: Petar Popara
- Re: IXMLDOMSchemaCollection::add()
- From: Igor Tandetnik
- IXMLDOMSchemaCollection::add()
- Prev by Date: Re: Known CImage problem
- Next by Date: Re: IXMLDOMSchemaCollection::add()
- Previous by thread: Re: IXMLDOMSchemaCollection::add()
- Next by thread: Re: IXMLDOMSchemaCollection::add()
- Index(es):
Relevant Pages
|