Показать сообщение отдельно
Старый 31.10.2009, 16:56
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 1  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
По умолчанию проблема с типом XML

есть такой метод проверки наличия обязательных данных в XML
Код AS3:
public static function checkXMLFormat(node:XML, ...props):Boolean
{
	var p:String;
	var res:Boolean = true;
	for (p in props)
	{
		res &&= node.hasOwnProperty(props[p]);
	}
	return res
}
сначала вызываю:
Код AS3:
// прерываем с ошибкой, если нет блока <settings>
if (!checkXMLFormat(xml, "settings")) return false
затем:
Код AS3:
// прерываем с ошибкой, если заданы не все параметры
if (!checkXMLFormat(xml.settings, "bookid", "pagewidth", "pageheight")) return false
xml.settings уже не XML, а XMLList и вызывает ошибку.
пока решил так: в параметрах метода переписываю на node:Object и в первой же строке XML(node);
работает чьодко, но это как-то через... неправильно наверное. может есть более элегантное решение?

хотя решил все сделать жошще, но геморней: все остается как есть, но при каждом вызове, если нужно, делаю приведение XML(...)
а то предыдущий вариант диравый какой-то.
__________________
Поймай яблоко 2!


Последний раз редактировалось Zebestov; 31.10.2009 в 17:04.