Transformation dŽun fichier XML en un fichier XML en utilisant un fichier XSLT

Signaler
Messages postés
3
Date d'inscription
jeudi 12 mai 2011
Statut
Membre
Dernière intervention
14 mai 2012
-
Messages postés
3
Date d'inscription
jeudi 12 mai 2011
Statut
Membre
Dernière intervention
14 mai 2012
-
Bonjour à tous.
j'utilise pour la première fois XSLT à mon lieu de stage et j'aimerai transformer un fichier XML en un autre fichier XML en utilisant un fichier XSLT. Au fait je veux changer le formatage du 1er fichier en ajoutant des blocs ou des lignes de code, ou en dupliquant ceux-ci tout simplement en utilisant XSLT.
Je vous met ici en copie les codes sources des fichiers de départ et de fin.

Fichier XML de départ:

<threshold name="TH_230"
<olw-rule-condition>
<complex-rule-condition bom-name="net.InternalMessage" name="CR_500">
<simple-rule-condition>
<rule-condition-items>
<rule-condition-item-literal>
<field-name>Code</field-name>
<comparison>MATCHES</comparison>
<literal>5</literal>
</rule-condition-item-literal>
<rule-condition-item-literal>
<field-name>Pin</field-name>
<comparison>IS_EQUAL_TO</comparison>
<literal>840</literal>
</rule-condition-item-literal>
</rule-condition-items>
</simple-rule-condition>
</complex-rule-condition>
</olw-rule-condition>
true
<description>SimpleRule ruled="" tp="3737" fp="2333"</description>
</threshold>

et voici le fichier final que je souhaite obtenir:

<threshold name="TH_230">
<olw-rule-condition>
<complex-rule-condition bom-name="net.InternalMessage" name="CR_500">
<simple-rule-condition>
<rule-condition-items>
<rule-condition-item-literal>
<field-name>Code</field-name>
<comparison>MATCHES</comparison>
<literal>5</literal>
</rule-condition-item-literal>
</rule-condition-items>
</simple-rule-condition>
</complex-rule-condition>
<complex-rule-condition bom-name="net.InternalMessage" name="CR_500">
<simple-rule-condition>
<rule-condition-items>
<rule-condition-item-literal>
<field-name> Pin </field-name>
<comparison> IS_EQUAL_TO </comparison>
<literal>840</literal>
</rule-condition-item-literal>
</rule-condition-items>
</simple-rule-condition>
</complex-rule-condition>
</olw-rule-condition>
true
<description>SimpleRule ruled="" tp="3737" fp="2333"</description>
</threshold>


Pouvez vous máider sŽil vous plait?
Merci dŽavance pour votre aide et votre disponibilité.

PS:Je suis désolé pour la qualité de formatage du code.Je ne sais pas comment joindre mes fichiers en pièces-jointes

Cordialement

3 réponses

Messages postés
3
Date d'inscription
jeudi 12 mai 2011
Statut
Membre
Dernière intervention
14 mai 2012

Re-bonjour,
voici une bonne représentation des codes sources:
Fichier initial:
 
<threshold name="TH_230"
    <olw-rule-condition>
    <complex-rule-condition bom-name="net.InternalMessage" name="CR_500">
      <simple-rule-condition>
       <rule-condition-items>
        <rule-condition-item-literal>
  	   <field-name>Code</field-name> 
             <comparison>MATCHES</comparison> 
             <literal>5</literal> 
        </rule-condition-item-literal>
       <rule-condition-item-literal>
          <field-name>Pin</field-name> 
            <comparison>IS_EQUAL_TO</comparison> 
            <literal>840</literal> 
       </rule-condition-item-literal>
      </rule-condition-items>
     </simple-rule-condition>
    </complex-rule-condition>
    </olw-rule-condition>
true 
<description>SimpleRule ruled="" tp="3737" fp="2333"</description> 
</threshold>
 


et le fichier final est:

<threshold name="TH_230">
<olw-rule-condition>
<complex-rule-condition bom-name="net.InternalMessage" name="CR_500">
  <simple-rule-condition>
   <rule-condition-items>
    <rule-condition-item-literal>
      <field-name>Code</field-name> 
 	<comparison>MATCHES</comparison> 
        <literal>5</literal> 
    </rule-condition-item-literal>
   </rule-condition-items>
  </simple-rule-condition>
</complex-rule-condition>
<complex-rule-condition bom-name="net.InternalMessage" name="CR_500">
  <simple-rule-condition>
   <rule-condition-items>
    <rule-condition-item-literal>
     <field-name>Pin </field-name> 
       <comparison> IS_EQUAL_TO </comparison> 
       <literal>840</literal> 
    </rule-condition-item-literal>
  </rule-condition-items>
 </simple-rule-condition>
</complex-rule-condition>
</olw-rule-condition>
true 
<description>SimpleRule ruled="" tp="3737" fp="2333"</description> 
  </threshold>





Merci

Bonjour,

XSLT n'est pas fait pour modifier des fichiers xml mais pour en déterminer l'affichage dans une page web.
Messages postés
3
Date d'inscription
jeudi 12 mai 2011
Statut
Membre
Dernière intervention
14 mai 2012

Bonsoir cmarcotte,
c'est vrai tu as raison.Par contre j'ai lu dans un tutoriel qu'on peut se servir de XSLT et un fichier XML pour avoir en sortie un fichier HTML, TEXT ou XML.
Et mon but c'est de me servir de ce langage pour obtenir le fichier XML final dont j'ai affiché le code, et j'ai du mal à gérer les "<templates> et du XSLT pour faire mon travail.

Je ne sais pas si j'ai bien exposé mon problème ou pas, du moins je l'espère.
Merci de m'aider à trouver une solution.