Есть XML парсер и т.д.
НО...
1) объект 
"Msxml2.XMLHTTP.6.0" имеет специальный метод 
responseXML который якобы и должен мне вернуть тот самый xml который необходимо разобрать
хотя опять-же я не могу понять противоречия... т.к. описание этого метода дословно такое:
"
Текст ответа на запрос в виде XML, который затем может быть обработан посредством DOM.
Если состояние не 4, возвращает null."
Так а состояние = 4 это значит, что запрос завершен и как в приведенном вами примере:
request_handler = function () {
    var level;
    if (request.readyState === 4) {   // if state = 4 (operation is completed)
        if (request.status === 200) { // and the HTTP status is OK
            // get progress from the XML node and set progress bar width and innerHTML
            level = request.responseXML.getElementsByTagName('PROGRESS')[0].firstChild;
            progress.style.width = progress.innerHTML = level.nodeValue + '%';
        }
        else { // if request status is not OK
            progress.style.width = '100%';
            progress.innerHTML = 'Error:[' + request.status + ']' + request.statusText;
        }
    }
};
как это отрабатывает в процессе запроса я не могу никак понять... ведь пока readyState <> 4 
там должен быть 
null... и строка
 level = request.responseXML.getElementsByTagName('PROGRESS  ')[0].firstChild;
должна спровоцировать исключение...
2) на каком бы этапе я не обращался к методу 
responseXML, но все время возвращает пустоту (nothing / "")...
и во время запроса и после его завершения...
Подскажите какова роль сервера в этом случае, должно ли на нем что-то такое специфическое быть реализовано... или от сервера здесь ничего не зависит ?