with (classes) {

with (dom) {

if (classes.DOMImplementation) dom.DOMImplementation = classes.DOMImplementation;
else {

dom.DOMImplementation = function () // abstract
{
 return null;
}

try { DOMImplementation.The_IXMLDOMImplementation = new ActiveXObject("Msxml2.DOMDocument").implementation; } catch (e) {}

DOMImplementation.hasFeature = function (feature,  version)
{
 return DOMImplementation.The_IXMLDOMImplementation.hasFeature(feature, version);
}

DOMImplementation.createDocumentType = function (qualifiedName, publicId, systemId)
{
 return null;
}

DOMImplementation.createDocument = function (namespaceURI, qualifiedName, doctype)
{
 var The_XMLDocument = null;

 try { The_XMLDocument = new ActiveXObject("Msxml2.DOMDocument"); }
 catch (The_Exception) {}

 // if any of the parameters are non-null, set The_XMLDocument.xml accordingly // !!
/*
 if (The_XMLDocument) with (The_XMLDocument)
 {
  setProperty("SelectionLanguage", "XPath");
  resolveExternals = false; // true;
  validateOnParse = false; // true;
 }
*/
 return dom.Document.call(The_XMLDocument);
}

DOMImplementation.getFeature = function (feature, version)
{
 return null;
}

}

}

}
