Я думаю, что JSON больше подходит для такой задачи. Предполагая, что ваши данные хранятся в базе данных (а не в файле XML или Excel), вы можете использовать PHP или любой другой язык на стороне сервера, для которого важно вернуть набор объектов, закодировать их в виде строки JSON и передать эту информацию во Flash или JS. Декодирование строки JSON во Flash (или Javascript) вернет набор объектов, которыми нужно управлять на стороне клиента.
Эти объекты в основном будут вашими наборами данных, которые затем может запросить ваше меню.
Практически, когда пользователь запускает ваше приложение, вам потребуется только один серверный вызов, чтобы получить все необходимые данные, которые затем могут быть вашими наборами данных для этого конкретного сеанса. Конечно, ваша база данных может обновляться так часто, как вам нужно.
Что касается общей структуры ваших объектов данных, постарайтесь, чтобы ваши данные разделялись проблемами, я бы посоветовал не связывать их вместе, чтобы обеспечить гибкость вашего приложения. Возможно, вы не придумали наилучшую структуру с самого начала, поэтому, если бы вы вносили изменения в свой макет меню, например, вы все равно могли бы повторно использовать большую часть своего кода.
//A basic example of DataObject that could store the values retrieved from the XML
public class DataObject
{
public var gemTypes:Array = ["Diamond" , "Ruby" , etc...]
public var cutTypes:Array = ['Princess' , 'Emerald', etc...]
}
//A couple of classes you could use to structure your menu
public class AbstractGem
{
protected var _cutType:String;
protected var _settings:Object;
protected var _sizes:Array;
}
public class Diamond extends AbstractGem
{
}
public class Main
{
public function Main()
{
//if a menu calls the princess cut diamond, you can use the properties
//set from the XML to determine what submenus will be called
var princess:AbstractGem = new Diamond();
princess.sizes = [1.5 , 1.8 , 2.0 , ......, 8.0];
princess.cutType = "Princess"
}
}