Подскажите, как в такой ситуации правильно организовать функции, чтобы не было проблем с вложенными функциями и с областями видимости:

Код AS1/AS2:
class Room {
static var xmlName:String = "1.xml";
var xmlDoc:XML;
var xml_rootNode:XMLNode;
public function parsXML():Void {
trace(xml_rootNode);
}
public function Init():Void {
xmlDoc.load(xmlName);
// ошибка - обработчик внутри функции.
// хотя может и нет - обработчик нужен 1 раз и удаляется после использования
// ?
xmlDoc.onLoad = function():Void {
if (this.status == 0) {
trace("Успешно");
xml_rootNode = this.firstChild;
// !!!!! ошибка - эта функция "не видна" отсюда
parsXML();
} else {
trace("Ошибка при чтении xml "+this.status);
}
};
}
public function Room() {
xmlDoc = new XML();
}
}