Convertisseur XML Pivot - Structure du XML de paramétrage

De MappingDoc
Révision datée du 20 avril 2021 à 19:49 par Nsmet (discussion | contributions) (Page créée avec « ==Structure du XML de paramétrage== De manière générale, ce fichier XML de paramétrage a la même structure que le document à produire, c'est-à-dire qu'en lisant ce... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Structure du XML de paramétrage

De manière générale, ce fichier XML de paramétrage a la même structure que le document à produire, c'est-à-dire qu'en lisant ce XML, on doit pouvoir reconnaître la manière dont le document sera structuré visuellement de haut en bas.


<?xml version="1.0" encoding="UTF-8"?> <param version="1.0" data-version="1.0" xmlns="http://mappingsuite.com/designer" decimal-separator="," thousands-separator=" ">

 <doc type="TYPE_DOCUMENT">
   <field id="NOM_CHAMP" name="SURCHARGE_NOM_CHAMP">
   <field id="*">
   <field id="NOM_CHAMP" from="xxxxxxxx" where="xxxxxxx"/>
   (...)
<line name="NOM_LIGNE"> <field id="NOM_CHAMP"/> </line> <line name="NOM_LIGNE"> <field id="NOM_CHAMP"/> <field id="NOM_CHAMP"/> </line>
   (...)
   <list id="NOM_LISTE">
     <list-header>
       <line name="NOM_LIGNE">
         <field id="NOM_CHAMP" list-function="xxxxx"/>
         <field id="NOM_CHAMP" list-function="xxxxx"/>
       </line>
       ...
     </list-header>
     <items>
       <line name="xxxxxxx">
         <field id="NOM_CHAMP"/>
         <field id="NOM_CHAMP"/>
         <...>
       </line>
       <line name="xxxxxxx"/>
       (...)
       <list id="NOM_SOUS_LISTE" >
         <items>
           <line name="NOM_LIGNE">
             <field>*</field>
           </line>
           (...)
           <list id="NOM_SOUS_LISTE" >
             <items>
               <line name="NOM_LIGNE">
                 <field>*</field>
               </line>
               (...)
             </items>
             (...)
           </list>
           (...)
         </items>
         (...)
       </list>
       (...)
     </items>
     (...)
     <interitem>
       <line name="NOM_LIGNE">
         <field id="NOM_CHAMP" />
         <field id="NOM_CHAMP" />
       </line>
       ...
     </interitem>
     <list-footer>
       <line name="NOM_LIGNE">
       <field id="NOM_CHAMP" list-function="xxxxx"/>
         <field id="NOM_CHAMP" list-function="xxxxx"/>
       </line>
       ...
     </list-footer>
   </list>
   <list id="NOM_LIST_2">
     <items group-by="key1">
       <key name="key1">
         <field id="NOM_CHAMP" />
       </key>
       <group-header>
         <line name="NOM_LIGNE">
           <field id="NOM_CHAMP" grouping-function="xxxxx"/>
           <field id="NOM_CHAMP" grouping-function="xxxxx"/>
         </line>
         ...
       </group-header>
       <group-aggregate>
         <line name="NOM_LIGNE">
           <field id="NOM_CHAMP" grouping-function="xxxxx"/>
           <field id="NOM_CHAMP" grouping-function="xxxxx"/>
         </line>
       </group-aggregate>
       <line name="NOM_LIGNE">
         <field id="NOM_CHAMP"/>
         <field id="NOM_CHAMP"/>
         ...
       </line>
       ...
       <group-footer>
         <line name="NOM_LIGNE">
           <field name="NOM_CHAMP" grouping-function="xxxxx"/>
           <field name="NOM_CHAMP" grouping-function="xxxxx"/>
           ...
         </line>
         ...
       </group-footer>  
     </items>
   </list
   (...)
 </doc>

</param>

Exemple de XML de paramétrage très simple

Le paramétrage suivant permet de récupérer intégralement les informations du fichier XML de données afin de générer un fichier XML compatible avec le Designer Mapping, sans aucune utilisation de fonctionnalités avancées.

<param>

 <doc type="BL">
 	<field id="*"/>
 	<list id="*">
 		<line>
 			<field id="*" />
 		</line>
 		<list id="*" >
 			<line>
 				<field id="*" />
 			</line>
 			<list id="*">
 				<line>
 					<field id="*" />
 				</line>
 			</list>
 		</list>
 	</list>
 </doc>

</param>

Mais les exemples suivants, encore plus simples doivent également fonctionner. Ils permettent de récupérer la totalité du fichier XML de données.


<param> </param>

ou encore


<param>

 <doc type="*"/>

</param>

ou encore

<param>

 <doc type="*">
   <field id="*"/>
   <list id="*"/>
 </doc>

</param>

Exemple de XML de paramétrage plus évolué


<param>

 <doc type="BL">
   <field id="COD_TIE_EXT"/>
   <field id="LBA_PAY"/>
   (...)
   <field id="DATE" from="list[@id='L1']/item[1]" name="DATE"/>
   <field id="DAT_LIS_OLE" from="list[@id='PRODUITS']/item/list[@id='article']/item" 
   function="max(list[@'detail']/item[1]/field[@id='DAT_LIV'])" name="DAT_LIS_OLE"></field>
   (...)
<line name="lig1"> <field id="NOM_CLI"/> </line> <line name="lig2"> <field id="ADD_CLI"/> </line> <line name="lig6"> <field id="COD_POS"/> <field id="VILLE"/> </line>
   (...)
   <list id="PRODUITS" group-by="key1">
     <items type='head'>
       <field id="col1" />
       <field id="col2" />
       <field id="col3" />
     </items>
     <items indivisible="Y" >
       <line name="infos_produit">
         <field id="DAT_LIS_OLE" />
         <field id="MONTANT" grouping-function="sum()" />
       </line>
       <line name="complement_produit">
         <field id="LOT" grouping-function="concat(';')" />
       </line>
       <list id="CASES" same-line-as-parent="true">
         <items group-by="*">
           <line name="CASES">
             <field id="CASE" grouping-function="concat(', ')" />
           </line>
         </items>
       </list>
       <line name="libelles_tableau"/>
       <list id="DETAIL">
         <items>
           <line name="DETAIL_PRODUIT">
             <field>*</field>
           </line>
       </items>
       </list>
       <list id="CER_COMPO">
         <items>
           <line name="ETIQ_CER_COMPO">
             <field name="TIT_CERTIF" item="1">Composition</field>
             <field id="TXT_CERTIF" split="110" align="justify"/>
           </line>
         </items>
       </list>
       <list id="CER_GAR">
         <items columns="2">
           <line name="ETIQ_DET_CER_GAR">
             <field name="TIT_CERTIF" item="1">Garantie</field>
             <field id="TXT_CERTIF"/>
           </line>
         </items>
       </list>
       <line name="TEXT_OGM">
         <field name="TIT_CERTIF">Norme ALICOOP : </field>
         <field id="INFO_OGM" from="global-data()" split="100" indentation="16"/>
       </line>
       <list id="CER_COMPO_MAT">
         <items>
           <line name="CER_COMPOS_MAT">
             <field id="TXT_CERTIF" split="100" indentation="16"/>
           </line>
         </items>
       </list>
     </items>
   </list>
 </doc>

</param>