// fonction pour ajouter un élément
// si contenu est chaine vide alors crée un élément vide
var ajouterElement = function (balise, contenu, parent) {
    var noeud = document.createElement(balise);
    if (contenu != '') {
        var noeudTexte = document.createTextNode(contenu);
        noeud.appendChild(noeudTexte);
    }
    parent.appendChild(noeud);

    return noeud;
}


// fonction fournie pour charger un contenu XML
var loadXML = function (url) {
    var xmlhttp=new XMLHttpRequest();
    xmlhttp.open("GET", url, false);
    xmlhttp.send();
    var doc = xmlhttp.responseXML;
    removeBlankNodes(doc.documentElement);
    return doc;
}

// fonction qui supprime les "blank nodes" d'un document
var removeBlankNodes = function (node) {
    for (var n = 0; n < node.childNodes.length; n++) {
        var child = node.childNodes[n];
        if (child.nodeType === 8 ||
        (child.nodeType === 3 && !/\S/.test(child.nodeValue))
        ) {
            node.removeChild(child);
            n--;
        } else if(child.nodeType === 1) {
            removeBlankNodes(child);
        }
    }
}
