[XML-XSL-HTML] Simplification de données [Résolu]

Simplification de données [Résolu] [XML-XSL-HTML] - XML/XSL - Programmation

Marsh Posté le 23-01-2008 à 17:13:38    

Bonjour,
 
J'ai parcouru les sujets qui pouvaient s'approcher de mon problème sans trouver de solution, raison pour laquelle je me permet de créer un sujet spécifique. S'il existe une meilleur marche à suivre -c'est mon premier message sur le forum- merci de me l'indiquer :jap:
 
Pour rentrer dans le vif du sujet, j'ai une base de donnée qui me permet d'exporter mon data en XML, avec un arbre de cette forme :

Code :
  1. <XMLRESULT>
  2. <RESULTSET>
  3.  <ROW>
  4.   <COL>
  5.    <DATA></DATA>
  6.   </COL>
  7.   <COL>
  8.    <DATA></DATA>
  9.   </COL>
  10.   <COL>
  11.    <DATA></DATA>
  12.   </COL>
  13.   <COL>
  14.    <DATA></DATA>
  15.   </COL>
  16.   <COL>
  17.    <DATA></DATA>
  18.   </COL>
  19.  </ROW>
  20.  <ROW>
  21.  ...
  22.  </ROW>
  23. </RESULTSET>
  24. </XMLRESULT>


 
Le but de cette extraction est de générer un document XHTML 1.0 Strict pour présenter les données en récapitulant les données redondantes, sous forme de liste. Mon document final adopte cette structure :

Code :
  1. <h2>Valeur de ROW[1]/COL[1]/DATA</h2>
  2. <h3>Valeur de ROW[1]/COL[2]/DATA</h3>
  3. <h4>Valeur de ROW[1]/COL[3]/DATA</h4>
  4. <ul>
  5. <li>Valeur de ROW[1]/COL[4]/DATA
  6.  <ul>
  7.   <li>Valeur de ROW[1]/COL[5]/DATA</li>
  8.   <li>Valeur de ROW[2]/COL[5]/DATA</li>
  9.  </ul>
  10. </li>
  11. <li>Valeur de ROW[3]/COL[4]/DATA
  12.  <ul>
  13.   <li>Valeur de ROW[3]/COL[5]/DATA</li>
  14.   <li>Valeur de ROW[4]/COL[5]/DATA</li>
  15.   <li>Valeur de ROW[5]/COL[5]/DATA</li>
  16.  </ul>
  17. </li>
  18. </ul>
  19. <h2>Valeur de ROW[6]/COL[1]/DATA</h2>
  20. <h3>Valeur de ROW[6]/COL[2]/DATA</h3>
  21. <h4>Valeur de ROW[6]/COL[3]/DATA</h4>
  22. <ul>
  23. <li>Valeur de ROW[6]/COL[4]/DATA
  24.  <ul>
  25.   <li>Valeur de ROW[6]/COL[5]/DATA</li>
  26.   <li>Valeur de ROW[9]/COL[5]/DATA</li>
  27.  </ul>
  28. </li>
  29. <li>Valeur de ROW[8]/COL[4]/DATA
  30.  <ul>
  31.   <li>Valeur de ROW[8]/COL[5]/DATA</li>
  32.   <li>Valeur de ROW[7]/COL[5]/DATA</li>
  33.   <li>Valeur de ROW[10]/COL[5]/DATA</li>
  34.  </ul>
  35. </li>
  36. </ul>


Dans cet exemple, la première rubrique (COL[1]/DATA) a une valeur identique pour les cinq premiers enregistrements (ROW). Les différentes valeurs ne sont pas triées (text) lors de l'export, j'imagine qu'il faut commencer par là (xsl:sort) pour pouvoir comparer les valeurs à chaque niveau de l'arbre, non ? Lors de mes tests, ça n'a rien donné, je suppose que je me plante dans le XPATH, mais je ne sais pas où... :sarcastic:  
 
Je ne suis pas familier avec le XSL(T), j'ai écumé quelques tuto mais sans trouver quelle méthode utiliser :sweat:
 
Auriez-vous des pistes pour m'en sortir ? Merci d'avance :D


Message édité par citronized le 24-01-2008 à 21:38:07
Reply

Marsh Posté le 23-01-2008 à 17:13:38   

Reply

Marsh Posté le 24-01-2008 à 21:37:33    

Merci pour les pistes, c'est résolu :pfff:

Reply

Marsh Posté le 04-02-2008 à 18:06:15    

Le forum xslt n'est pas beaucoup fréquenté =)
Il ne faut jamais s'attendre à une réponse très rapide.
Par contre ta solution intéressera peut être quelqu'un   :whistle:  
 
Si tu as le temps ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed