Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1204 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  regrouper avec xsl des elements de xml

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

regrouper avec xsl des elements de xml

n°1039459
Mentxa
Posté le 07-04-2005 à 22:35:38  profilanswer
 

Bonjour a tous !
 
Je suis en train de débuter avec XML/XSL et pour cela,
j'ai choisit de pour commencer le tuto de Van Lancker Luc
(www.developpez.biz/downloads/xml/cours-xml-xls.pdf)
 
Voici l'exemple qu'il utilise (le code XML):

Code :
  1. <?xml version="1.0"?>
  2. <compilation>
  3.  <mp3>
  4.   <titre>Foule sentimentale</titre>
  5.   <artiste>Alain Souchon</artiste>
  6.  </mp3>
  7.  <mp3>
  8.   <titre>Solaar pleure</titre>
  9.   <artiste>MC Solaar</artiste>
  10.  </mp3>
  11.  <mp3>
  12.   <titre>Le baiser</titre>
  13.   <artiste>Alain Souchon</artiste>
  14.  </mp3>
  15.  <mp3>
  16.   <titre>Pourtant</titre>
  17.   <artiste>Vanessa Paradis</artiste>
  18.  </mp3>
  19.  <mp3>
  20.   <titre>Chambre avec vue</titre>
  21.   <artiste>Henri Salvador</artiste>
  22.  </mp3>
  23. </compilation>


 
il utilise différentes feuille de style xsl pour generer des tableaux html de la forme :
 
TITRE               AUTEUR    
Foule sentimentale  Alain Souchon      
Solaar pleure       MC Solaar    
Le baiser           Alain Souchon  
...
 
Voici  le code Xsl :

Code :
  1. <?xml version='1.0'?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  3. <xsl:template match="/">
  4. <html>
  5. <body>
  6. <table border="1" cellspacing="0" cellpadding="3">
  7. <tr bgcolor="#FFFF00">
  8. <td>Titre</td>
  9. <td>Artiste</td>
  10. </tr>
  11. <xsl:for-each select="compilation/mp3">
  12. <tr>
  13. <td><xsl:value-of select="titre"/></td>
  14. <td><xsl:value-of select="artiste"/></td>
  15. </tr>
  16. </xsl:for-each>
  17. </table>
  18. </body>
  19. </html>
  20. </xsl:template>
  21. </xsl:stylesheet>


 
La question que je me pose est la suivante :
Est -il possible de la même manière de regrouper les titres par auteur ?
pour obtenir un truc dans le genre :
 
TITRE                               AUTEUR    
Foule sentimentale, Le baiser       Alain Souchon      
Solaar pleure                       MC Solaar    
...
 
j'avais pensé à un truc du style :
<xsl:for-each select="compilation/mp3[artiste='Alain Souchon']">
 
mais cela m'oblige de répéter cette ligne pour chaque auteur dans mon fichier xsl, il est compréhensible que pour beaucoup d'auteurs ça deviens super pénible ...
n'est -il pas possible de le faire automatiquement et de maniere récursive ?
si oui comment ?
 
Merci d'avance pour vos lumieres et Merci d'avoir pris le temps de me lire ;)

mood
Publicité
Posté le 07-04-2005 à 22:35:38  profilanswer
 

n°1039564
kalex
Posté le 07-04-2005 à 23:48:51  profilanswer
 

Peut-être en utilisant des variables ?
http://erwy.developpez.com/variable/

n°1039593
benou
Posté le 08-04-2005 à 01:56:10  profilanswer
 

voir <xsl:sort>

n°1039712
Mentxa
Posté le 08-04-2005 à 09:51:15  profilanswer
 

benou a écrit :

voir <xsl:sort>


 
il me semble avoir déja essayé mais sans succes ...
 
kalex : ok je vais regarder les variables !
 
Merci a tous les deux !


Message édité par Mentxa le 08-04-2005 à 09:52:12

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  regrouper avec xsl des elements de xml

 

Sujets relatifs
[SQL]Regrouper 2 lignes dans un même champ de donnéesEffacer les éléments d'un tableau associatif
Surligner des éléments dans une page appeléeInterversion elements dans une map
Taille des elements d'un BorderLayout[DOM/JavaScript] Traiter les tableaux d'éléments de form?
Ajouter des éléments de formulaire sans PHP[jbuilder] regrouper plusieurs projets en un
[Résolu][Perl/Gtk2] Récupérer les éléments d'un Gtk2::TreeViewdocument.getElementById("form2").elements[champ] has no properties
Plus de sujets relatifs à : regrouper avec xsl des elements de xml


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR