function xml_dom_object(){
    return Try.these(
      function() {return new ActiveXObject("Microsoft.XMLDOM")},
      function() {return document.implementation.createDocument("","",null);}
    ) || null;
}

function load_xml(xml_dom_obj, txt){
    return Try.these(
      function() {
        xml_dom_obj.loadXML(txt);
        return xml_dom_obj;
      },
      function() {
        return (new DOMParser()).parseFromString(txt, "text/xml");
      }
    ) || null;
}