Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Provides methods that are independent of any particular instance of the Document Object Model (DOM).
JScript Example
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.
C++ Example
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.
Requirements
Implementation:
msxml3.dll, msxml2.lib (MSXML 3.0)
msxml6.dll, msxml6.lib (MSXML 6.0)
Header and IDL files: msxml2.h, msxml2.idl, msxml6.h, msxml6.idl
Versioning
Implemented in: MSXML 3.0, MSXML 6.0