Création de liste à partir de XML

Création de liste à partir de XML - XML/XSL - Programmation

Marsh Posté le 24-07-2004 à 14:10:20    

Salut à tous  
 
Je voudrait obtenir ceci :  
- truc :  
   baratin...  
   blabla  
 
-chose :  
   BARATIN  
   BLAbla  
 
à partir d'un fichier XML du type :  
 
<Elements>  
<Element>  
<categorie>truc</categorie>  
<descriptif>baratin ...</descriptif>  
</Element>  
<Element>  
<categorie>chose</categorie>  
<descriptif>BARATIN</descriptif>  
</Element>  
<Element>  
<categorie>chose</categorie>  
<descriptif>BLAbla</descriptif>  
</Element>  
<Element>  
<categorie>truc</categorie>  
<descriptif>blabla</descriptif>  
</Element>  
</Elements>  
 
 
Merci de me dire si c'est faisable, et si oui comment .
 
Merci d'avance de votre précieuse aide

Reply

Marsh Posté le 24-07-2004 à 14:10:20   

Reply

Marsh Posté le 24-07-2004 à 14:46:39    

ca serait pas mieux comme ca?
 


<Elements>
  <Element categorie="truc">
    <descriptif>baratin ...</descriptif>
    <descriptif>blabla</descriptif>
  </Element>  
  <Element categorie="chose">  
    <descriptif>BARATIN</descriptif>
    <descriptif>BLAbla</descriptif>
  </Element>
</Elements>  

Reply

Marsh Posté le 24-07-2004 à 15:21:54    

Et bien non, car en fait j'ai d'autres éléments, comme l'année, et c'est pour pouvoir classer par différents critères...

Reply

Marsh Posté le 24-07-2004 à 15:24:28    

vince88 a écrit :

Et bien non, car en fait j'ai d'autres éléments, comme l'année, et c'est pour pouvoir classer par différents critères...


 


<Elements>
  <Element categorie="truc">
    <descriptif year="2000">baratin ...</descriptif>
    <descriptif year="2001">blabla</descriptif>
  </Element>  
  <Element categorie="chose">  
    <descriptif year="2003">BARATIN</descriptif>
    <descriptif year="2004">BLAbla</descriptif>
  </Element>
</Elements>  

Reply

Marsh Posté le 24-07-2004 à 15:26:34    

Burgergold a écrit :


<Elements>
  <Element categorie="truc">
    <descriptif year="2000">baratin ...</descriptif>
    <descriptif year="2001">blabla</descriptif>
  </Element>  
  <Element categorie="chose">  
    <descriptif year="2003">BARATIN</descriptif>
    <descriptif year="2004">BLAbla</descriptif>
  </Element>
</Elements>  



 
voir meme
 


<Elements>
<Element categorie="t1" year="2000">baratin <Element>
<Element categorie="t2" year="2001">blabla <Element>
<Element categorie="t3" year="2002">mouche <Element>
<Element categorie="t4" year="2003">test <Element>
</Elements>  

Reply

Marsh Posté le 24-07-2004 à 18:10:51    

et tu veux obtenir ça avec quoi ? php ? ou bien juste avec une  feuille de style css ou xsl associée ?

Reply

Marsh Posté le 25-07-2004 à 09:53:27    

Je voudrais obtenir ça avec css et xsl si c'est possible.
 
Je vais déjà essayer avec les différents codes que vous m'avez proposés, et je vous dirai.
 
Enfin, si quelqu'un a une solution en utilisant le code initial, surtout n'hésitez pas !

Reply

Marsh Posté le 25-07-2004 à 11:07:57    

quel code ?
 
sinon juste avec une css :
 

Code :
  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2. <?xml-stylesheet href="vd.css" type="text/css" ?>
  3. <Elements> 
  4. <Element> 
  5. <categorie>truc</categorie> 
  6. <descriptif>baratin ...</descriptif> 
  7. </Element> 
  8. <Element> 
  9. <categorie>chose</categorie> 
  10. <descriptif>BARATIN</descriptif> 
  11. </Element> 
  12. <Element> 
  13. <categorie>chose</categorie> 
  14. <descriptif>BLAbla</descriptif> 
  15. </Element> 
  16. <Element> 
  17. <categorie>truc</categorie> 
  18. <descriptif>blabla</descriptif> 
  19. </Element> 
  20. </Elements>


 
et pour le css:
 

Code :
  1. element{
  2. display: list-item;
  3. }
  4. categorie{
  5. display: list-item;
  6. margin-left: 50px;
  7. list-style-type: circle;
  8. }
  9. descriptif{
  10. margin-left: 50px;
  11. display: list-item;
  12. list-style-type: none;
  13. }

Reply

Marsh Posté le 25-07-2004 à 11:08:36    

C'est bien ça que tu voulais ?

Reply

Marsh Posté le 25-07-2004 à 17:09:32    

Oui c'est presque ça, sauf que je voudrais regrouper les éléments pas catégorie, pour obtenir une liste du genre :  
 
- truc :  
   baratin...  
   blabla  
 
-chose :  
   BARATIN  
   BLAbla  

Reply

Marsh Posté le 25-07-2004 à 17:09:32   

Reply

Marsh Posté le 25-07-2004 à 17:38:35    

vu ton fichier xml, je vois mal comment... a par en inventant des données...
 
donne le fichier précis...

Reply

Marsh Posté le 25-07-2004 à 17:49:05    

Voici le type de fichier XML que j'ai :  
 
 
<Elements>  
  <Element>  
    <categorie>truc</categorie>  
    <descriptif>baratin ...</descriptif>
    <annee>2002</annee>  
  </Element>  
  <Element>  
    <categorie>chose</categorie>  
    <descriptif>BARATIN</descriptif>  
    <annee>2003</annee>  
  </Element>  
  <Element>  
    <categorie>chose</categorie>  
    <descriptif>BLAbla</descriptif>  
    <annee>2002</annee>  
  </Element>  
  <Element>  
    <categorie>truc</categorie>  
    <descriptif>blabla</descriptif>  
    <annee>2003</annee>  
  </Element>  
</Elements>  
 
Et mon but est de pouvoir classer les éléments par année ou par catégorie, c'est-à-dire obtenir
 
soit
* 2002 :  
   - truc : baratin
   - chose : blabla
* 2003 :
 .....
 
 
soit
 
- truc :  
  baratin...  
  blabla  
 
-chose :  
  BARATIN  
  BLAbla  
 
 
Je ne sais pas si c'est faisable mais bon....
 

Reply

Marsh Posté le 25-07-2004 à 20:39:24    

ok ok j'ai enfin capté... faut dire qu'en mettant blabla avec ou sans majuscule et idem pour barratin c'etait pas tres clair :p
 
Pour le classer par catégorie, avec des xslt c'est faisable... mais bon a par en le faisant dynamiquement (php ou autre) on ne sais faire qu'une seule possibilité...
 


Message édité par TriadPtale le 25-07-2004 à 20:44:38
Reply

Marsh Posté le 25-07-2004 à 21:43:49    

TriadPtale a écrit :

ok ok j'ai enfin capté... faut dire qu'en mettant blabla avec ou sans majuscule et idem pour barratin c'etait pas tres clair :p
 
Pour le classer par catégorie, avec des xslt c'est faisable... mais bon a par en le faisant dynamiquement (php ou autre) on ne sais faire qu'une seule possibilité...


 
désolé pour ma clarté....  
 
sinon je m'en doutais un peu que c'était faisable en xslt (sinon je ne vous aurai pas embêter pour rien) ! Reste à savoir comment....
 
Pour finir je n'y connais pas grand chose en php, mais si c'est possible avec, je veux bien m'y mettre  !!
(mais j'ai pas très bien compris le "on ne sais faire qu'une seule possibilité..." )
 
Merci de ton aide & de ta persévérance

Reply

Sujets relatifs:

Leave a Replay

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