IXMLDOMImplementation
Provides methods that are independent of any particular instance of the Document Object Model (DOM).
Note
|
|---|
|
You can use books.xml to run this sample code. |
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
var oImplementation;
xmlDoc.async = false;
xmlDoc.load("books.xml");
if (xmlDoc.parseError.errorCode != 0) {
var myErr = xmlDoc.parseError;
WScript.Echo("You have error " + myErr.reason);
} else {
oImplementation = xmlDoc.implementation;
WScript.Echo (oImplementation.hasFeature("DOM", "1.0"));
}
Output
-1
Note |
|---|
A value of -1 indicates that MSXML implements the specified feature. A value of 0 indicates the feature is not implemented. |
IXMLDOMImplementation *pIXMLDOMImplementation = NULL;
VARIANT_BOOL varbFlag ;
BSTR bstrOutput = NULL;
BSTR bstrFeature = ::SysAllocString(_T("MS-DOM"));
HRESULT hr;
IXMLDOMDocument *pIXMLDOMDocument = NULL;
try
{
// Create an instance of DOMDocument and initialize pIXMLDOMDocument.
// Load/create an XML fragment.
hr = pIXMLDOMDocument->get_implementation(&pIXMLDOMImplementation);
if(SUCCEEDED(hr) && pIXMLDOMImplementation)
{
hr = pIXMLDOMImplementation->hasFeature(bstrFeature, _T("1.0"), &varbFlag);
if(varbFlag == VARIANT_TRUE )
bstrOutput = ::SysAllocString(_T("Feature Supported"));
else
bstrOutput = ::SysAllocString(_T("Feature not Supported"));
::MessageBox(NULL, bstrOutput, bstrFeature, MB_OK);
::SysFreeString(bstrOutput);
bstrOutput = NULL;
::SysFreeString(bstrFeature);
bstrFeature = NULL;
pIXMLDOMImplementation->Release();
}
}
catch(...)
{
if(bstrOutput)
::SysFreeString(bstrOutput);
if(bstrFeature)
::SysFreeString(bstrFeature);
if(pIXMLDOMImplementation)
pIXMLDOMImplementation->Release();
DisplayErrorToUser();
}
// Release pIXMLDOMDocument when finished using it.
Note