implementation Property

 

Contains the IXMLDOMImplementation object for the document.

Script Syntax

var objXMLDOMImplementation = oXMLDOMDocument.implementation;  

Example

The following script example creates an IXMLDOMImplementation object.

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.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;
}

Visual Basic Syntax

Set objXMLDOMImplementation = oXMLDOMDocument.implementation  

C/C++ Syntax

HRESULT get_implementation(  
    IXMLDOMImplementation **impl);  

Parameters

impl[out, retval]
The IXMLDOMImplementation for this document.

C/C++ Return Values

S_OK
The value returned if successful.

E_INVALIDARG
The value returned if the impl parameter is Null.

Example

IXMLDOMDocument * pIXMLDOMDocument = NULL;
IXMLDOMImplementation *pIXMLDOMImplementation = NULL;
VARIANT_BOOL varbFlag ;
BSTR bstrOutput = NULL;
BSTR bstrFeature = ::SysAllocString(_T("MS-DOM"));

try
{
  // Initialize pIXMLDOMDocument (create a DOMDocument).
  // Load document.
  hr = pIXMLDOMDocument->get_implementation (&pIXMLDOMImplementation);

  if(SUCCEEDED(hr) && pIXMLDOMImplementation)
  {
    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);
    pIXMLDOMImplementation->Release();
    pIXMLDOMImplementation = NULL;
    ::SysFreeString(bstrOutput);
    bstrOutput = NULL;
  }
  ::SysFreeString(bstrFeature);
  bstrFeature = NULL;
}
catch(...)
{
  if(pIXMLDOMImplementation)
    pIXMLDOMImplementation->Release();
  if(bstrOutput)
    ::SysFreeString(bstrOutput);
  if(bstrFeature)
    ::SysFreeString(bstrFeature);
  DisplayErrorToUser();
}
// Release pIXMLDOMDocument when finished with it.

Remarks

The property is read-only. An XML Document Object Model (DOM) application can use objects from multiple implementations. This property provides access to IXMLDOMImplementation that handles this document.

Versioning

Implemented in:

MSXML 3.0, MSXML 6.0

Applies to

IXMLDOMDocument-DOMDocument

See Also

IXMLDOMImplementation