Fonction Scilab
eng - fr


put_xml_param3 - met à jour la description des paramètres dans un fichier xml

Librairie

Séquence d'appel

new_tt = put_xml_param3(txt_list,filen)

Paramètres

Description

Add here a paragraph of the function description. Other paragraph can be added

Add here a paragraph of the function description

Exemple

Add here scilab instructions and comments

Contenu du fichier


//put_xml_param3
//Fonction qui insère une liste de paramètres
//dans un fichier xml contenant des délimiteurs
//<PARAM> et </PARAM>
//Entrée : txt : matrice de chaînes de caractères de taille n,2
//         txt(,1) : le nom du paramètre
//         txt(,2) : la description du paramètre
//         filen : nom du fichier xml (ex:filen=xml_path+'CAN_f.xml')
//Sortie : new_tt : texte du fichier xml de sortie
function new_tt=put_xml_param3(txt_list,filen)

    if fileinfo(filen)<>[] then
       del1='<PARAM>'
       del2='</PARAM>'
       tt_sav=mgetl(filen);
       a=0;b=0;new_tt=tt_sav;
       //trouve la position des délimiteurs
       for i=1:size(tt_sav,1)
          if strindex(tt_sav(i),del1)<>[] then a=i, end;
          if strindex(tt_sav(i),del2)<>[] then b=i, end;
       end
       //si les délimiteurs ont été trouvés
       if a<>0&b<>0 then
          //si la chaine txt n'es pas vide
          if txt_list<>list() then
             //trouve le nbre de paramètres
             nb_para=0;
             for i=1:size(txt_list)
                for j=1:size(txt_list(i)(1),1)
                   nb_para=nb_para+1;
                end
             end
             //initialise une nouvelle liste
             n=list()
             for i=1:nb_para
                n(i)=list();
                n(i)(1)=0;
                n(i)(2)=""
                n(i)(3)=""
             end
             //met la liste dans l'ordre des paragraphes
             for i=1:size(txt_list)
               for j=1:size(txt_list(i)(1),1)
                  n(txt_list(i)(1)(j,1))(1)=i;
                  n(txt_list(i)(1)(j,1))(2)=txt_list(i)(2)(j,1);
                  n(txt_list(i)(1)(j,1))(3)=txt_list(i)(2)(j,2);
               end
             end
             //crée la liste des param au format xml
             tt_param=[];
             pre_i=0; //indentation précédente
             for i=1:size(n)
                dif_i=n(i)(1)-pre_i;
                if dif_i<>0 then
                   if dif_i>0 then
                      for j=1:dif_i
                        tt_param=[tt_param;'  <PARAM_INDENT>'];
                      end
                   elseif dif_i<0 then
                      for j=-1:-1:dif_i
                        tt_param=[tt_param;'  </PARAM_INDENT>'];
                      end
                   end
                end 
                pre_i=n(i)(1);
                tt_param=[tt_param;'  <PARAM_ITEM>';
                          '  <PARAM_NAME>'+n(i)(2)+'</PARAM_NAME>';
                          '  <PARAM_DESCRIPTION>';
                          '  <SP>';
                          '  '+n(i)(3);
                          '  </SP>';
                          '  </PARAM_DESCRIPTION>';
                          '  </PARAM_ITEM>';];
             end
             dif_i=-pre_i;
             if dif_i<0 then
                for j=-1:-1:dif_i
                   tt_param=[tt_param;'  </PARAM_INDENT>'];
                end
             end
          else
             tt_param=[];
          end 
          //Ecrit la chaine de texte finale
          new_tt=[tt_sav(1:a);tt_param;tt_sav(b:size(tt_sav,1))];
       end
    else
      printf("File %s not found\n",filen);
      new_tt=[];
    end
    
endfunction 

Fonction(s) utilisée(s)

Add here the used function name and references

Auteurs

enter here the author name Add here the author references