﻿
function ffLoadXMLBrowser(strXML) {
    if (document.implementation && document.implementation.createDocument) {
        // MOZILLA or other Browser
        xmlParser = new DOMParser();
        xmlDocum = xmlParser.parseFromString(strXML, 'text/xml');
    }
    else if (window.ActiveXObject) {
        // IE
        xmlDocum = new ActiveXObject("Microsoft.XMLDOM");
        xmlDocum.async = false;
        xmlDocum.loadXML(strXML);
    }
    return xmlDocum;
}

function innerHTMLToObject(text) {
    if (document.implementation && document.implementation.createDocument) {
    
    }
}

function transform(xml, xsl, id) {

    try {
        // ActiveX pour Internet Explorer
        if (window.ActiveXObject) {
            var target = document.getElementById(id);
            target.innerHTML = xml.transformNode(xsl);
        }
        // navigateur basé sur Gecko
        else if (document.implementation && document.implementation.createDocument) {
            var fragment;
            var xsltProcessor = new XSLTProcessor();

            xsltProcessor.importStylesheet(xsl);
            fragment = xsltProcessor.transformToFragment(xml, document);
            
            var target = document.getElementById(id);
            if (fragment != null)
            target.appendChild(fragment);                      
        }
    } catch (e) {
        //alert(e);
        return e;

    }
}

function loadXML(url) {

    var xmlDoc;

    /* chargement du fichier XML */

    try {

        // navigateur basé sur Gecko
        if (document.implementation && document.implementation.createDocument) {
            xmlDoc = document.implementation.createDocument('', '', null);
            xmlDoc.async = false;
            xmlDoc.load(url);
            // ActiveX pour Internet Explorer

        } else if (window.ActiveXObject) {
            try {
                xmlDoc = new ActiveXObject('Msxml2.XMLDOM');
            } catch (e) {
                xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
            }
            xmlDoc.async = false;
            xmlDoc.load(url);
            // à l'aide de lobjet XMLHTTPRequest

        } else if (window.XMLHttpRequest) {
            xmlDoc = new XMLHttpRequest();
            xmlDoc.overrideMimeType('text/xml');
            xmlDoc.open('GET', url, false);
            xmlDoc.send(null);
            if (this.xmlDoc.readyState == 4) xmlDoc = xmlDoc.responseXML;
        }
    } catch (e) {
        return e;
    }

    return xmlDoc;

}
