rem: operation_echeance -> devise = utils_str_atoi ( attribute_values[i]);
add: gsb_data_scheduled_set_currency_number ( scheduled_number, utils_str_atoi (attribute_values[i]));
context: void gsb_file_load_start_element_before_0_6 ( GMarkupParseContext *context,					      const gchar *element_name,					      const gchar **attribute_names,					      const gchar **attribute_values,					      gpointer user_data,					      GError **error){    /* the first time we come here, we check if it's a grisbi file */    if ( !download_tmp_values.download_ok )    {	if ( strcmp ( element_name,		      "Grisbi" ))	{	    dialogue_error ( _("This is not a Grisbi file... Loading aborted.") );	    g_markup_parse_context_end_parse (context,					      NULL);	    return;	}	download_tmp_values.download_ok = TRUE;	return;    }    /* to split the functions, we will set to 1 each time we begin a new part */    if ( !strcmp ( element_name,		   "Generalites" )	 &&	 !download_tmp_values.account_part	 &&	 !download_tmp_values.report_part )	 {	     download_tmp_values.general_part = TRUE;	     return;	 }    if ( !strcmp ( element_name,		   "Comptes" ))    {	download_tmp_values.account_part = TRUE;	return;    }    if ( !strcmp ( element_name,		   "Etats" ))    {	download_tmp_values.report_part = TRUE;	return;    }    if ( !strcmp ( element_name,		   "Type" ))    {	gint i;	i = 0;	if ( attribute_names[i] )	{	    struct struct_type_ope *type;	    type = calloc ( 1,			    sizeof ( struct struct_type_ope ));	    do	    {		if ( !strcmp ( attribute_names[i],			       "No" ))		    type -> no_type = utils_str_atoi ( attribute_values[i] );		if ( !strcmp ( attribute_names[i],			       "Nom" ))		    type -> nom_type = g_strdup ( attribute_values[i] );		if ( !strcmp ( attribute_names[i],			       "Signe" ))		    type -> signe_type = utils_str_atoi ( attribute_values[i] );		if ( !strcmp ( attribute_names[i],			       "Affiche_entree" ))		    type -> affiche_entree = utils_str_atoi ( attribute_values[i] );		if ( !strcmp ( attribute_names[i],			       "Numerotation_auto" ))		    type -> numerotation_auto = utils_str_atoi ( attribute_values[i] );		if ( !strcmp ( attribute_names[i],			       "No_en_cours" ))		    type -> no_en_cours = utils_str_atoi ( attribute_values[i] );		i++;	    }	    while ( attribute_names[i] );	    type -> no_compte = account_number_tmp;	    gsb_data_account_set_method_payment_list ( account_number_tmp,						  g_slist_append ( gsb_data_account_get_method_payment_list (account_number_tmp),								   type ));	    return;	}    }         if ( !strcmp ( element_name,		   "Operation" ))    {	gint i;	i = 0;	if ( attribute_names[i] )	{	    gint transaction_number = 0;	    do	    {		gchar **pointeur_char;		if ( !strcmp ( attribute_names[i],			       "No" ))		    transaction_number = gsb_data_transaction_new_transaction_with_number ( account_number_tmp,											    utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Id" ))		    gsb_data_transaction_set_transaction_id ( transaction_number,							       attribute_values[i] );		if ( !strcmp ( attribute_names[i],			       "D" ))		{		    pointeur_char = g_strsplit ( attribute_values[i], "/", 0 );		    gsb_data_transaction_set_date ( transaction_number,						    g_date_new_dmy ( utils_str_atoi ( pointeur_char[0] ),								     utils_str_atoi ( pointeur_char[1] ),								     utils_str_atoi ( pointeur_char[2] )));		    g_strfreev ( pointeur_char );		}		if ( !strcmp ( attribute_names[i],			       "Db" ))		{		    if ( attribute_values[i] )		    {			pointeur_char = g_strsplit ( attribute_values[i],						     "/",						     0 );			if ( utils_str_atoi ( pointeur_char[0] ))			    gsb_data_transaction_set_value_date ( transaction_number,								  g_date_new_dmy ( utils_str_atoi ( pointeur_char[0] ),										   utils_str_atoi ( pointeur_char[1] ),										   utils_str_atoi ( pointeur_char[2] )));			g_strfreev ( pointeur_char );		    }		}		if ( !strcmp ( attribute_names[i],			       "M" ))		    gsb_data_transaction_set_amount ( transaction_number,						      my_strtod ( attribute_values[i],								  NULL ));		if ( !strcmp ( attribute_names[i],			       "De" ))		    gsb_data_transaction_set_currency_number ( transaction_number,							       utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Rdc" ))		    gsb_data_transaction_set_change_between ( transaction_number,							      utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Tc" ))		    gsb_data_transaction_set_exchange_rate ( transaction_number,							     my_strtod ( attribute_values[i],									 NULL ) );		if ( !strcmp ( attribute_names[i],			       "Fc" ))		    gsb_data_transaction_set_exchange_fees ( transaction_number,							     my_strtod ( attribute_values[i],									 NULL ) );		if ( !strcmp ( attribute_names[i],			       "T" ))		    gsb_data_transaction_set_party_number ( transaction_number,							    utils_str_atoi ( attribute_values[i])  );		if ( !strcmp ( attribute_names[i],			       "C" ))		    gsb_data_transaction_set_category_number ( transaction_number,							       utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Sc" ))		    gsb_data_transaction_set_sub_category_number ( transaction_number,								   utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Ov" ))		    gsb_data_transaction_set_breakdown_of_transaction ( transaction_number,									utils_str_atoi ( attribute_values[i]) );		if ( !strcmp ( attribute_names[i],			       "N" ))		    gsb_data_transaction_set_notes ( transaction_number,						     attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Ty" ))		    gsb_data_transaction_set_method_of_payment_number ( transaction_number,									utils_str_atoi ( attribute_values[i]) );		if ( !strcmp ( attribute_names[i],			       "Ct" ))		    gsb_data_transaction_set_method_of_payment_content ( transaction_number,									 attribute_values[i] );		if ( !strcmp ( attribute_names[i],			       "P" ))		    gsb_data_transaction_set_marked_transaction ( transaction_number,								  utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "A" ))		    gsb_data_transaction_set_automatic_transaction ( transaction_number,								     utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "R" ))		    gsb_data_transaction_set_reconcile_number ( transaction_number,								utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "E" ))		    gsb_data_transaction_set_financial_year_number ( transaction_number,								     utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "I" ))		    gsb_data_transaction_set_budgetary_number ( transaction_number,								utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Si" ))		    gsb_data_transaction_set_sub_budgetary_number ( transaction_number,								    utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Pc" ))		    gsb_data_transaction_set_voucher ( transaction_number,						       attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Ibg" ))		    gsb_data_transaction_set_bank_references ( transaction_number,							       attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Ro" ))		    gsb_data_transaction_set_transaction_number_transfer ( transaction_number,									   utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Rc" ))		    gsb_data_transaction_set_account_number_transfer ( transaction_number,								       utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Va" ))		    gsb_data_transaction_set_mother_transaction_number ( transaction_number,									 utils_str_atoi ( attribute_values[i]));		i++;	    }	    while ( attribute_names[i] );	}    }    if ( !strcmp ( element_name,		   "Echeance" ))    {	gint i;	i = 0;	if ( attribute_names[i] )	{	    struct operation_echeance *operation_echeance;	    operation_echeance = calloc ( 1,					  sizeof (struct operation_echeance ));	    do	    {		gchar **pointeur_char;		if ( !strcmp ( attribute_names[i],			       "No" ))		    operation_echeance -> no_operation = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Date" ))		{		    pointeur_char = g_strsplit ( attribute_values[i],						 "/",						 0 );		    operation_echeance -> jour = utils_str_atoi ( pointeur_char[0] );		    operation_echeance -> mois = utils_str_atoi ( pointeur_char[1] );		    operation_echeance -> annee = utils_str_atoi ( pointeur_char[2] );		    operation_echeance -> date = g_date_new_dmy ( operation_echeance -> jour,								  operation_echeance -> mois,								  operation_echeance -> annee );		    g_strfreev ( pointeur_char );		}		if ( !strcmp ( attribute_names[i],			       "Compte" ))		    operation_echeance -> compte = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Montant" ))		    operation_echeance -> montant = my_strtod ( attribute_values[i],								NULL );		if ( !strcmp ( attribute_names[i],			       "Devise" ))		    operation_echeance -> devise = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Tiers" ))		    operation_echeance -> tiers = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Categorie" ))		    operation_echeance -> categorie = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Sous-categorie" ))		    operation_echeance -> sous_categorie = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Virement_compte" ))		    operation_echeance -> compte_virement = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Type" ))		    operation_echeance -> type_ope = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Type_contre_ope" ))		    operation_echeance -> type_contre_ope = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Contenu_du_type" )		     &&		     strlen (attribute_values[i]))		    operation_echeance -> contenu_type = g_strdup (attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Exercice" ))		    operation_echeance -> no_exercice = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Imputation" ))		    operation_echeance -> imputation = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Sous-imputation" ))		    operation_echeance -> sous_imputation = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Notes" )		     &&		     strlen (attribute_values[i]))		    operation_echeance -> notes = g_strdup (attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Automatique" ))		    operation_echeance -> auto_man = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Periodicite" ))		{		    operation_echeance -> periodicite = utils_str_atoi ( attribute_values[i]);		    /* Compatibility issue, we inserted two entries		     * after month view. */		    if ( operation_echeance -> periodicite > SCHEDULER_PERIODICITY_MONTH_VIEW )		    {			operation_echeance -> periodicite += 2;		    }		}		if ( !strcmp ( attribute_names[i],			       "Intervalle_periodicite" ))		    operation_echeance -> intervalle_periodicite_personnalisee = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Periodicite_personnalisee" ))		    operation_echeance -> periodicite_personnalisee = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Date_limite" ))		{		    if ( strlen ( attribute_values[i]))		    {			pointeur_char = g_strsplit ( attribute_values[i],						     "/",						     0 );			operation_echeance -> jour_limite = utils_str_atoi ( pointeur_char[0] );			operation_echeance -> mois_limite = utils_str_atoi ( pointeur_char[1] );			operation_echeance -> annee_limite = utils_str_atoi ( pointeur_char[2] );			operation_echeance -> date_limite = g_date_new_dmy ( operation_echeance -> jour_limite,									     operation_echeance -> mois_limite,									     operation_echeance -> annee_limite );			g_strfreev ( pointeur_char );		    }		    else		    {			operation_echeance -> jour_limite = 0;			operation_echeance -> mois_limite = 0;			operation_echeance -> annee_limite = 0;			operation_echeance -> date_limite = NULL;		    }		}		if ( !strcmp ( attribute_names[i],			       "Ech_ventilee" ))		    operation_echeance -> operation_ventilee = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "No_ech_associee" ))		    operation_echeance -> no_operation_ventilee_associee = utils_str_atoi ( attribute_values[i]);		i++;	    }	    while ( attribute_names[i] );	    liste_struct_echeances = g_slist_append ( liste_struct_echeances,						      operation_echeance);	}    }    if ( !strcmp ( element_name,		   "Tiers" ))    {	gint i;	i = 0;	if ( attribute_names[i] )	{	    gint payee_number;	    payee_number = gsb_data_payee_new (NULL);	    do	    {		/* 	we test at the begining if the attribute_value is NULL, if yes, */		/* 	   go to the next */		if ( !strcmp (attribute_values[i],			      "(null)"))		{		    i++;		    continue;		}		if ( !strcmp ( attribute_names[i],			       "No" ))		{		    payee_number = gsb_data_payee_set_new_number ( payee_number,							      utils_str_atoi (attribute_values[i]));		    i++;		    continue;		}		if ( !strcmp ( attribute_names[i],			       "Nom" ))		{		    gsb_data_payee_set_name ( payee_number,					 attribute_values[i]);		    i++;		    continue;		}		if ( !strcmp ( attribute_names[i],			       "Informations" ))		{		    gsb_data_payee_set_description ( payee_number,						attribute_values[i]);		    i++;		    continue;		}		/* normally, shouldn't come here */		i++;	    }	    while ( attribute_names[i] );	}    }    if ( !strcmp ( element_name,		   "Categorie" ))    {	gint i = 0;	while ( attribute_names[i] )	{	    if ( !strcmp ( attribute_names[i],			   "No" ))		last_category = gsb_data_category_new_with_number ( utils_str_atoi (attribute_values[i])); 	    if ( !strcmp ( attribute_names[i],			   "Nom" ))		gsb_data_category_set_name ( last_category,					     attribute_values[i]);	    if ( !strcmp ( attribute_names[i],			   "Type" ))		gsb_data_category_set_type ( last_category,					     utils_str_atoi (attribute_values[i]));	    i++;	}    }    if ( !strcmp ( element_name,		   "Sous-categorie" ))    {	gint i = 0;	/* each sub-category is stored after a category, so last_category should be filled before */	while ( attribute_names[i] )	{	    if ( !strcmp ( attribute_names[i],			   "No" ))		last_sub_category_number = gsb_data_category_new_sub_category_with_number ( utils_str_atoi (attribute_values[i]),											    last_category);	    if ( !strcmp ( attribute_names[i],			   "Nom" ))		gsb_data_category_set_sub_category_name ( last_category,							  last_sub_category_number,							  attribute_values[i]);	    i++;	}    }    if ( !strcmp ( element_name,		   "Imputation" ))    {	gint i = 0;	while ( attribute_names[i] )	{	    if ( !strcmp ( attribute_names[i],			   "No" ))		last_budget = gsb_data_budget_new_with_number ( utils_str_atoi (attribute_values[i])); 	    if ( !strcmp ( attribute_names[i],			   "Nom" ))		gsb_data_budget_set_name ( last_budget,					   attribute_values[i]);	    if ( !strcmp ( attribute_names[i],			   "Type" ))		gsb_data_budget_set_type ( last_budget,					   utils_str_atoi (attribute_values[i]));	    i++;	}    }    if ( !strcmp ( element_name,		   "Sous-imputation" ))    {	gint i = 0;	/* each sub-budget is stored after a budget, so last_budget should be filled before */	while ( attribute_names[i] )	{	    if ( !strcmp ( attribute_names[i],			   "No" ))		last_sub_budget_number = gsb_data_budget_new_sub_budget_with_number ( utils_str_atoi (attribute_values[i]),										      last_budget);	    if ( !strcmp ( attribute_names[i],			   "Nom" ))		gsb_data_budget_set_sub_budget_name ( last_budget,						      last_sub_budget_number,						      attribute_values[i]);	    i++;	}    }    if ( !strcmp ( element_name,		   "Devise" ))    {	gint i;	i = 0;	if ( attribute_names[i] )	{	    struct struct_devise *devise;	    devise = calloc ( 1,			      sizeof ( struct struct_devise ));	    do	    {		if ( !strcmp ( attribute_names[i],			       "No" ))		    devise -> no_devise = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Nom" ))		    devise -> nom_devise = g_strdup (attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "IsoCode" )		     &&		     strlen (attribute_values[i]))		    devise -> code_iso4217_devise = g_strdup (attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Code" )		     &&		     strlen (attribute_values[i]))		    devise -> code_devise = g_strdup (attribute_values[i]);		/* 	   la suite n'est utile que pour les anciennes devises qui sont passées à l'euro */		/* 	non utilisées pour les autres */		if ( !strcmp ( attribute_names[i],			       "Passage_euro" ))		    devise -> passage_euro = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Date_dernier_change" )		     &&		     strlen ( attribute_values[i]))		{		    gchar **pointeur_char;		    pointeur_char = g_strsplit ( attribute_values[i],						 "/",						 0 );		    devise -> date_dernier_change = g_date_new_dmy ( utils_str_atoi ( pointeur_char[0] ),								     utils_str_atoi ( pointeur_char[1] ),								     utils_str_atoi ( pointeur_char[2] ));		    g_strfreev ( pointeur_char );		}		if ( !strcmp ( attribute_names[i],			       "Rapport_entre_devises" ))		    devise -> une_devise_1_egale_x_devise_2 = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Devise_en_rapport" ))		    devise -> no_devise_en_rapport = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Change" ))		    devise -> change = my_strtod ( attribute_values[i],						   NULL );		i++;	    }	    while ( attribute_names[i] );	    /* Set ISO4217 code if needed (compatibility function). */	    if ( ! devise -> code_iso4217_devise || 		 ! strlen ( devise -> code_iso4217_devise ) )	    {		int i;		for ( i = 0; iso_4217_currencies[i].continent != NULL; i++ )		{		    /* Basically, we check if either currency currency		     * name or nickname (code) match iso4217 *		     * currencies code or nickname.  If so, we set		     * iso4217 code accordingly. */		    if ( (devise -> nom_devise && 			  ! strcmp ( devise -> nom_devise, _(iso_4217_currencies[i].currency_name ) ) ) ||			 ( devise -> code_devise && 			   ! strcmp ( devise -> code_devise, iso_4217_currencies[i].currency_code ) ) ||			 ( iso_4217_currencies[i].currency_nickname && 			   devise -> code_devise &&			   ! strcmp ( devise -> code_devise, iso_4217_currencies[i].currency_nickname ) ) )		    {			devise -> code_iso4217_devise = iso_4217_currencies[i].currency_code;			break;		    }				 		}	    }	    liste_struct_devises = g_slist_append ( liste_struct_devises,						    devise );	}    }    if ( !strcmp ( element_name,		   "Banque" ))    {	gint i;	i = 0;	if ( attribute_names[i] )	{	    struct struct_banque *banque;	    banque = calloc ( 1,			      sizeof ( struct struct_banque ));	    do	    {		if ( !strcmp ( attribute_names[i],			       "No" ))		    banque -> no_banque = utils_str_atoi ( attribute_values[i]);				if ( !strcmp ( attribute_names[i],			       "Nom" ))		    banque -> nom_banque = g_strdup (attribute_values[i]);				if ( !strcmp ( attribute_names[i],			       "Code" )		     &&		     strlen (attribute_values[i]))		    banque -> code_banque = g_strdup (attribute_values[i]);				if ( !strcmp ( attribute_names[i],			       "Adresse" )		     &&		     strlen (attribute_values[i]))		    banque -> adr_banque = g_strdup (attribute_values[i]);				if ( !strcmp ( attribute_names[i],			       "Tel" )		     &&		     strlen (attribute_values[i]))		    banque -> tel_banque = g_strdup (attribute_values[i]);				if ( !strcmp ( attribute_names[i],			       "Mail" )		     &&		     strlen (attribute_values[i]))		    banque -> email_banque = g_strdup (attribute_values[i]);				if ( !strcmp ( attribute_names[i],			       "Web" )		     &&		     strlen (attribute_values[i]))		    banque -> web_banque = g_strdup (attribute_values[i]);				if ( !strcmp ( attribute_names[i],			       "Nom_correspondant" )		     &&		     strlen (attribute_values[i]))		    banque -> nom_correspondant = g_strdup (attribute_values[i]);				if ( !strcmp ( attribute_names[i],			       "Fax_correspondant" )		     &&		     strlen (attribute_values[i]))		    banque -> fax_correspondant = g_strdup (attribute_values[i]);				if ( !strcmp ( attribute_names[i],			       "Tel_correspondant" )		     &&		     strlen (attribute_values[i]))		    banque -> tel_correspondant = g_strdup (attribute_values[i]);				if ( !strcmp ( attribute_names[i],			       "Mail_correspondant" )		     &&		     strlen (attribute_values[i]))		    banque -> email_correspondant = g_strdup (attribute_values[i]);				if ( !strcmp ( attribute_names[i],			       "Remarques" )		     &&		     strlen (attribute_values[i]))		    banque -> remarque_banque = g_strdup (attribute_values[i]);		i++;	    }	    while ( attribute_names[i] );	    liste_struct_banques = g_slist_append ( liste_struct_banques,						    banque );	}    }    if ( !strcmp ( element_name,		   "Exercice" ))    {	gint i;	i = 0;	if ( attribute_names[i] )	{	    struct struct_exercice *exercice;	    exercice = calloc ( 1,				sizeof ( struct struct_exercice ));	    do	    {		if ( !strcmp ( attribute_names[i],			       "No" ))		    exercice -> no_exercice = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Nom" ))		    exercice -> nom_exercice = g_strdup ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Date_debut" )		     &&		     strlen (attribute_values[i]))		{		    gchar **pointeur_char;		    pointeur_char = g_strsplit ( attribute_values[i],						 "/",						 0 );		    exercice -> date_debut = g_date_new_dmy ( utils_str_atoi ( pointeur_char[0] ),							      utils_str_atoi ( pointeur_char[1] ),							      utils_str_atoi ( pointeur_char[2] ));		    g_strfreev ( pointeur_char );		}		if ( !strcmp ( attribute_names[i],			       "Date_fin" )		     &&		     strlen (attribute_values[i]))		{		    gchar **pointeur_char;		    pointeur_char = g_strsplit ( attribute_values[i],						 "/",						 0 );		    exercice -> date_fin = g_date_new_dmy ( utils_str_atoi ( pointeur_char[0] ),							    utils_str_atoi ( pointeur_char[1] ),							    utils_str_atoi ( pointeur_char[2] ));		    g_strfreev ( pointeur_char );		}		if ( !strcmp ( attribute_names[i],			       "Affiche" ))		    exercice -> affiche_dans_formulaire = utils_str_atoi ( attribute_values[i]);		i++;	    }	    while ( attribute_names[i] );	    liste_struct_exercices = g_slist_append ( liste_struct_exercices,						      exercice );	}    }    if ( !strcmp ( element_name,		   "Rapprochement" ))    {	gint i;	i = 0;	if ( attribute_names[i] )	{	    struct struct_no_rapprochement *rapprochement;	    rapprochement = calloc ( 1,				     sizeof ( struct struct_no_rapprochement ));	    do	    {		if ( !strcmp ( attribute_names[i],			       "No" ))		    rapprochement -> no_rapprochement = utils_str_atoi ( attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Nom" ))		    rapprochement -> nom_rapprochement = g_strdup ( attribute_values[i]);		i++;	    }	    while ( attribute_names[i] );	    liste_struct_rapprochements = g_slist_append ( liste_struct_rapprochements,							   rapprochement );	}    }    if ( !strcmp ( element_name,		   "Comp" )	 &&	 attribute_names[1]	 &&	 !strcmp ( attribute_names[1],		   "Champ" ))    {	gint i;	i = 0;	if ( attribute_names[i] )	{	    gint text_comparison_number;	    /* no number for version <0.6 */	    text_comparison_number = gsb_data_report_text_comparison_new (0);	    gsb_data_report_text_comparison_set_report_number ( text_comparison_number,								last_report_number );	    do	    {		if ( !strcmp ( attribute_names[i],			       "Lien_struct" ))		    gsb_data_report_text_comparison_set_link_to_last_text_comparison ( text_comparison_number,										       utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Champ" ))		    gsb_data_report_text_comparison_set_field ( text_comparison_number,								utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Op" ))		    gsb_data_report_text_comparison_set_operator ( text_comparison_number,								   utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Txt" ))		    gsb_data_report_text_comparison_set_text ( text_comparison_number,							       attribute_values[i]);		if ( !strcmp ( attribute_names[i],			       "Util_txt" ))		    gsb_data_report_text_comparison_set_use_text ( text_comparison_number,								   utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Comp_1" ))		    gsb_data_report_text_comparison_set_first_comparison ( text_comparison_number,									   utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Lien_1_2" ))		    gsb_data_report_text_comparison_set_link_first_to_second_part ( text_comparison_number,										    utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Comp_2" ))		    gsb_data_report_text_comparison_set_second_comparison ( text_comparison_number,									    utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Mont_1" ))		    gsb_data_report_text_comparison_set_first_amount ( text_comparison_number,								       utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Mont_2" ))		    gsb_data_report_text_comparison_set_second_amount ( text_comparison_number,									utils_str_atoi ( attribute_values[i]));		i++;	    }	    while ( attribute_names[i] );	    gsb_data_report_set_text_comparison_list ( last_report_number,						       g_slist_append ( gsb_data_report_get_text_comparison_list (last_report_number),									GINT_TO_POINTER (text_comparison_number)));	}	return;    }    if ( !strcmp ( element_name,		   "Comp" )	 &&	 attribute_names[1]	 &&	 !strcmp ( attribute_names[1],		   "Comp_1" ))    {	gint i;	i = 0;	if ( attribute_names[i] )	{	    gint amount_comparison_number;	    /* no number for version <0.6 */	    amount_comparison_number = gsb_data_report_amount_comparison_new (0);	    gsb_data_report_amount_comparison_set_report_number ( amount_comparison_number,								  last_report_number );	    do	    {		if ( !strcmp ( attribute_names[i],			       "Lien_struct" ))		    gsb_data_report_amount_comparison_set_link_to_last_amount_comparison ( amount_comparison_number,											   utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Comp_1" ))		    gsb_data_report_amount_comparison_set_first_comparison ( amount_comparison_number,									     utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Lien_1_2" ))		    gsb_data_report_amount_comparison_set_link_first_to_second_part ( amount_comparison_number,										      utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Comp_2" ))		    gsb_data_report_amount_comparison_set_second_comparison ( amount_comparison_number,									      utils_str_atoi ( attribute_values[i]));		if ( !strcmp ( attribute_names[i],			       "Mont_1" ))		    gsb_data_report_amount_comparison_set_first_amount ( amount_comparison_number,									 my_strtod ( attribute_values[i],										     NULL ));		if ( !strcmp ( attribute_names[i],			       "Mont_2" ))		    gsb_data_report_amount_comparison_set_second_amount ( amount_comparison_number,									  my_strtod ( attribute_values[i],										      NULL ));		i++;	    }	    while ( attribute_names[i] );	    gsb_data_report_set_amount_comparison_list ( last_report_number,							 g_slist_append ( gsb_data_report_get_amount_comparison_list (last_report_number),									  GINT_TO_POINTER (amount_comparison_number)));	    return;	}    }    if ( !strcmp ( element_name,		   "Mode_paie" ))    {	gint i;	i = 0;	if ( attribute_names[i] )	{	    do	    {		if ( !strcmp ( attribute_names[i],			       "Nom" ))		    gsb_data_report_set_method_of_payment_list ( last_report_number,								 g_slist_append ( gsb_data_report_get_method_of_payment_list (last_report_number),										  g_strdup (attribute_values[i])));		i++;	    }	    while ( attribute_names[i] );	}	return;    }}