XSLT faire un tri sur un XML

XSLT faire un tri sur un XML - XML/XSL - Programmation

Marsh Posté le 14-09-2007 à 10:24:19    

Bonjour à tous,
 
j'ai un petit souci avec ma feuille de style XSL:
 
Soit le XML suivant:

Code :
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. - <Annonce xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3. - <Parution NumeroPublication="1">
  4. - <Edition NomEdition="TOTO">
  5. - <SiteDepot CodeSite="753810">
  6.    <CP No="75000" LDCPM="0" PM="0" />
  7.   <CPEM No="75000" NbEM="0" NbLDCP="0" />
  8.   <CP No="92000" LDCPM="0" PM="0" />
  9.   <CPEM No="92000" NbEM="0" NbLDCP="0" />
  10.   <CP No="93000" LDCPM="0" PM="0" />
  11.   <CPEM No="93000" NbEM="0" NbLDCP="0" />
  12.   </SiteDepot>
  13. - <SiteDepot CodeSite="750295">
  14.   <CP No="21000" LDCPM="0" PM="0" />
  15.   <CPEM No="21000" NbEM="0" NbLDCP="0" />
  16.   <CP No="45000" LDCPM="0" PM="0" />
  17.   <CPEM No="45000" NbEM="0" NbLDCP="0" />
  18.   <CP No="77000" LDCPM="0" PM="0" />
  19.   <CPEM No="77000" NbEM="0" NbLDCP="0" />
  20.   <CP No="91000" LDCPM="0" PM="0" />
  21.   <CPEM No="91000" NbEM="0" NbLDCP="0" />
  22.   <CP No="95000" LDCPM="0" PM="0" />
  23.   <CPEM No="95000" NbEM="0" NbLDCP="0" />
  24.   </SiteDepot>
  25. ...


 
Je voudrais faire en sorte que ,dans la balise CodeSite, j'obtienne les données rangées de cette manière :
 

Code :
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. - <Annonce xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3. - <Parution NumeroPublication="1">
  4. - <Edition NomEdition="TOTO">
  5. - <SiteDepot CodeSite="753810">
  6.   <CP No="75000" LDCPM="0" PM="0" />
  7.   <CP No="92000" LDCPM="0" PM="0" />
  8.   <CP No="93000" LDCPM="0" PM="0" />
  9.   <CPEM No="75000" NbEM="0" NbLDCP="0" />
  10.   <CPEM No="92000" NbEM="0" NbLDCP="0" />
  11.   <CPEM No="93000" NbEM="0" NbLDCP="0" />
  12.   </SiteDepot>
  13. - <SiteDepot CodeSite="750295">
  14.   <CP No="21000" LDCPM="0" PM="0" />
  15.   <CP No="45000" LDCPM="0" PM="0" />
  16.    <CP No="77000" LDCPM="0" PM="0" />
  17.    <CP No="91000" LDCPM="0" PM="0" />
  18.    <CP No="95000" LDCPM="0" PM="0" />
  19.    <CPEM No="21000" NbEM="0" NbLDCP="0" />
  20.    <CPEM No="45000" NbEM="0" NbLDCP="0" />
  21.    <CPEM No="95000" NbEM="0" NbLDCP="0" />
  22.    <CPEM No="77000" NbEM="0" NbLDCP="0" />
  23.    <CPEM No="91000" NbEM="0" NbLDCP="0" />
  24.   </SiteDepot>
  25. ...


 
 
voici mon XSL :  
 

Code :
  1. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  2. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
  3.         <xsl:template match="SiteDepot">
  4.                 <xsl:copy>
  5.                         <xsl:copy-of select="@*"/>
  6.                         <xsl:copy-of select="CP"/>
  7.                         <xsl:copy-of select="CPEM"/>
  8.                 </xsl:copy>
  9. </xsl:template>
  10. </xsl:stylesheet>


J'obtiens un tri , mais le fichier de sortie contient des lignes de "xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" .
De plus, je ne sais pas comment rajouter toutes les autres balises existantes : Annonce, Parution, Edition
 
Est-cela bonne méthode ? ou dois-je faire un sort ? merci de m'aider car je suis débutant en xsl !!!
 
Merci d'avance pour votre aide !
 

Reply

Marsh Posté le 14-09-2007 à 10:24:19   

Reply

Marsh Posté le 14-09-2007 à 17:16:22    

C'est quoi l'intérêt de faire ça [:petrus dei]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Marsh Posté le 14-09-2007 à 17:36:33    

C bon ,j'ai pu résoudre le problème ...
 
Merci quand même !!!
 
@+

Reply

Sujets relatifs:

Leave a Replay

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