Click to See Complete Forum and Search --> : Can we read DTD using MSXML6.0.


asmita.gaikwad
July 29th, 2008, 12:55 AM
Platform : WindowsXP, VisualStudio 2005, VC++, MSXML6.0



Hello,

I want to know if it is possible in MSXML6.0 to load dtd.
That is, is there any class available in MSXML to load DTD.
Is it possible to carry out this task using IXMLDOMDocument2 class.
Also further is it possible to load the list of elements, attributes and
entities od loaded DTD in object of some class.
If this is possible can any one please tell me how it is carried out.
Are there any Sample Programs Available.
It will be of great help to me if some sample programs are provided.
Related Links will be as much good.


I am providing code as follows which i tried to load dtd


CLSID rclsid;
typedef ABIMSXML::IXMLDOMDocument2Ptr ABIMSXMLDOMDocument2;
ABIMSXMLDOMDocument2 m_pXMLDoc = NULL;
GetMSXML_CLSID(rclsid);
HRESULT hr = m_pXMLDoc.CreateInstance(__uuidof(ABIMSXML::DOMDocument60));

typedef ABIMSXML::IXMLDOMDocumentPtr ABIMSXMLDOMDocument;
ABIMSXMLDOMDocument m_pXSDDoc = NULL;
hr = m_pXSDDoc.CreateInstance(__uuidof(ABIMSXML::DOMDocument60));

m_pXSDDoc->async = VARIANT_FALSE;
m_pXMLDoc->setProperty("ProhibitDTD", VARIANT_FALSE);
string fname;


hr = m_pXSDDoc->load("test.dtd");

if(hr!=S_OK)
{
return;
}



I dont know whether dtd get loaded or not.Can any one tell me how to check it.
If it has succesfully get loaded what must be the further step to access dtds contents.

Thanks & Regards

Asmita