function loadXML_IE(url) {
  var xmlDoc;
  try {
    try {
      xmlDoc = new ActiveXObject('Msxml2.XMLDOM');
    } catch (e) {
      xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
    }
    xmlDoc.async = false;
    xmlDoc.load(url);
  } catch (e) {
    return e;
  }
  return xmlDoc;
}

function XmlXslToDiv(aXmlURL, aXslURL, aTargetId) {
  if (!window.ActiveXObject) {
    var xslStylesheet; 
    var xsltProcessor = new XSLTProcessor(); 
    var myXMLHTTPRequest = new XMLHttpRequest(); 
    myXMLHTTPRequest.open("GET", aXslURL, false); 
    myXMLHTTPRequest.send(null); 
    xslStylesheet = myXMLHTTPRequest.responseXML; 
    xsltProcessor.importStylesheet(xslStylesheet); 
    myXMLHTTPRequest = new XMLHttpRequest(); 
    myXMLHTTPRequest.open("GET", aXmlURL, false); 
    myXMLHTTPRequest.send(null); 
    var xmlSource = myXMLHTTPRequest.responseXML; 
    var ownerDocument = document.implementation.createDocument("", "test", null);
    var newFragment = xsltProcessor.transformToFragment(xmlSource, ownerDocument);
    var Target = document.getElementById(aTargetId).parentNode;
    if (Target.childNodes.length==4) 
      Target.appendChild(newFragment);
    else
      while (Target.childNodes.length>4) {Target.removeChild(Target.lastChild);}
  } else {
    var aXml = loadXML_IE(aXmlURL);
    var aXsl = loadXML_IE(aXslURL);
    var Target = document.getElementById(aTargetId).parentNode;
    if (Target.childNodes.length==3) 
      Target.innerHTML = Target.innerHTML + aXml.transformNode(aXsl);
    else
      while (Target.childNodes.length>3) {Target.removeChild(Target.lastChild);}
  }
}
