hasFeature Method
Indicates support for the specified feature.
JScript Syntax
boolVal = objXMLDOMImplementation.hasFeature(feature, version);
Parameters
feature
A string that specifies the feature to test. In Level 1, valid feature values are "XML"
, "DOM"
, and "MS-DOM"
(case-insensitive).
version
A string that specifies the version number to test, or if Null, tests for implementation of the feature in any version. In Level 1, "1.0"
is the valid version value.
Return Value
Boolean. Returns True if the specified feature is implemented; otherwise False.
Example
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
var bool = xmlDoc.implementation.hasFeature("DOM", "1.0");
WScript.Echo(bool);
Output
-1
C/C++ Syntax
HRESULT hasFeature(
BSTR feature,
BSTR version,
VARIANT_BOOL *hasFeature);
Parameters
feature
[in]
The feature to test. In Level 1, valid feature values are "XML"
, "DOM"
, and "MS-DOM"
(case-insensitive).
version
[in]
The version number to test, or, if Null, tests for implementation of the feature in any version. In Level 1, "1.0"
is the only valid version value.
hasFeature
[out, retval]
True if the specified feature is implemented; otherwise False.
Return Values
S_OK
The value returned if successful.
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.
Versioning
Implemented in: MSXML 3.0 and MSXML 6.0