Esempio n. 1
0
void CardSet::Validate(XML::Document& D)
{
    string name=(*D.Base())["name"];
    string abbrev=(*D.Base())["abbrev"];
    string dir=(*D.Base())["dir"];

    age[abbrev]=sets.size();
    if((*D.Base())["age"]!="")
    {
	age[abbrev]=atoi((*D.Base())["age"].c_str());
	for(list<string>::iterator i=sets.begin(); i!=sets.end(); i++)
	    if(age[*i]>=age[abbrev])
		age[*i]++;
    }
	
    sets.push_back(abbrev);
	
    set_name[abbrev]=name;
    directory[abbrev]=dir;
    list<XML::Element*>::iterator i;
    list<XML::Element*> cards=D("cards","card");
    first_card[abbrev]=nextcard;

    for(i=cards.begin(); i!=cards.end(); i++)
    {
	(**i).AddAttribute("set",abbrev);
	numbers[(**i)["name"]].push_back(nextcard);
	nextcard++;
    }
    last_card[abbrev]=nextcard-1;
}