Далее создается и затем выполняется следующая функция:
1 function init(){
2 var temp =[];
3 var temp =doc.firstChild.childNodes;
4 scrollingList =[];
5 for (var i =0;i<temp.length;++i){
6 var tempList =temp [i ].childNodes;
7 var category =temp [i ].attributes.category;
8 var wordArray =[];
9 for (var j =0;j<tempList.length;++j){
10 var word =tempList [j ].firstChild.nodeValue;
11 wordArray.push(word);
12 }
13 words.lists.push({wordList:wordArray,
.category:category});
14 scrollingList.push({label:category,data:i});
15 }
16 scrollList.setDataProvider(scrollingList);
17 scrollList.setChangeHandler("myHandler");
18 }
19 init();
Эта функция проходит через содержимое XML в объекте XML doc и выделяет всю информацию, которая нам нужна. Массив слов создается для каждой категории (строка 11) и затем сохраняется в объект, который описывает эту категорию (строка 13). Также в этом объекте сохраняется свойство, называемое category, которое хранит имя категории. Этот объект добавляется в массив lists. Например, объект для первой категории, виды фруктов (Types of Fruit в исходном файле), сохранен как первый элемент в массиве lists, lists[0]. Этот объект, lists[0], содержит свойство категории, значение которого равно «of Fruit», и массив с названием wordlist, значениями которого являются слова категории. К тому моменту, как функция доходит до строки 16, вся информация из XML уже была выделена и сохранена должным образом. Компонент ListBox в сцене имеет имя экземпляра scrollList. В строке 16 мы устанавливаем источник данных для этого списка, установкой указателя на массив scrollingList, который содержит имя каждой категории. Компонент ListBox принимает эту информация и автоматически заполняет список. Затем, в строке 17 мы изменяем функцию, которая вызывается при выборе пункта списка. Мы делаем это с помощью метода setChangeHandler() и передаем в него имя функции, которую мы хотели бы вызвать