Руководство по actionscript. часть 3, стр. 044
Теперь предположим, что нас попросили изменить наш магазин для поддержки книг с несколькими авторами. Мы снова изменим структуру нашего XML-фрагмента, чтобы включить несколько элементов
Листинг 18.7. Фрагмент с несколькими авторами
var oopBook:XML =
Eric Freeman
E1i sabeth Freeman
Kathy Sierra
Bert Bates
Для работы с новой структурой XML мы изменим метод displayAuthor ( ), чтобы он принимал объект XMLList, представляющий несколько элементов
public function displayAuthor (authors:XMLList):void { for each (var author:XML in authors) { authorField. text += «Name: » + author. NAME
+ «, Birthdate: » + author. BIRTHDATE + «\n»;
}
}
Чтобы передать список элементов
di splayAuthor(oopBook. AUTHOR);
Эта строка кода соответствует нашему первоначальному подходу, а именно: displayAuthor(novel. AUTHOR);
На этот раз объект XMLLi st передается непосредственно в метод di splayAu thor ( ) без преобразования, поскольку типом данных получаемого параметра является XMLList, а не String. И снова обратите внимание на отличие: если при передаче объекта XMLList в функцию мы хотим преобразовать список в значение типа String, то для получаемого параметра указываем тип данных String и позволяем «колдовать» расширению Е4Х. Однако если мы хотим сохранить тип данных списка, то должны указать XMLList в качестве типа данных получаемого параметра. И сама ссылка (oopBook. author), и тип данных получаемого параметра (authors) оказывают влияние на поведение кода.