Да, со всем этим разобрался...
Насколько я знаю, можно менять средствами JavaScript содержимое XML. После того, как загружена страничка и выполнены некоторые функции, структура XML теряется из памяти, так? Сделал новый атрибут, который является признаком того, развернута ли текущая ветвь дерева. Т.е. после того, как мы хотим что-то свернуть или развернуть, мы должны изменить значение атрибута на соответствующей ветви, затем очистить текущее содержимое html (ту структуру, которую уже отобразили), и снова всё с начала, только с новыми атрибутами.
1. Что имеет больший смысл: изменить атрибут и сделать рефреш страницы или очистить то, что мы написали (если да, то как это реализовать?)
2. И как, вообще, изменить состояние атрибута?
P.S. Где почитать про этот MSXML?