Récupérer valuer d'un attribu

Récupérer valuer d'un attribu - XML/XSL - Programmation

Marsh Posté le 25-03-2005 à 19:54:08    

Salut,
 
voic mon code xml  
<rapport centre="un centre">
<inscription>
<nom>...</nom>
<prenom>...</prenom>
<date>...</date>
</inscription>
<inscription>
<nom>...</nom>
<prenom>...</prenom>
etc...
</rapport>
 
je veux afficher la valeur de l'attribut centre avec ma feuille xsl, débutant en xml/xsl je sais pas trop comment faire merci du coup de main a oui l'xsl ressemble a ca :
 
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
 <html>
 <head>
 <title>Rapport de fréquentation</title>
 </head>
 <body>
  <table align="center" border="0" cellpadding="2" cellspacing="2">
 <tr>
  <td align="center"><b>Nom</b></td>
  <td align="center"><b>Prenom</b></td>
  <td align="center"><b>Date</b></td>
 </tr>
 <xsl:for-each select="rapport/inscription">
 <tr>
  <td align="center"><xsl:value-of select="nom" /></td>
  <td align="center"><xsl:value-of select="prenom" /></td>
  <td align="center"><xsl:value-of select="date" /></td>
 </tr>
 </xsl:for-each>
 </table>
 </body>
 </html>
 </xsl:template>
 
</xsl:stylesheet>

Reply

Marsh Posté le 25-03-2005 à 19:54:08   

Reply

Marsh Posté le 04-04-2005 à 16:24:11    

J'ai bien lu que tu débute mais c'est pas une bonne idée de flanquer tout ton code dans un unique template, tu passe à côté du fonctionnement du moteur XSLT en faisant cela...  
 
ton xml  

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
  2. <rapport centre="un centre">
  3.   <inscription>
  4.    <nom>Dupont</nom>
  5.    <prenom>Albert</prenom>
  6.    <date>26/05/63</date>
  7.   </inscription>
  8.   <inscription>
  9.    <nom>Mercier</nom>
  10.    <prenom>Josianne</prenom>
  11.   </inscription>
  12.   <!-- etc... -->
  13. </rapport>
  14. <!-- eof -->


 
ton stylesheet revu et découpé comme il se doit...  

Code :
  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3.   <xsl:template match="/">
  4.     <html>
  5.       <head>
  6.         <title>Rapport de fréquentation</title>
  7.       </head>
  8.       <body>
  9.         <xsl:apply-templates/>
  10.       </body>
  11.     </html>
  12.   </xsl:template>
  13.   <xsl:template match="rapport">
  14.     <h1>
  15.       <xsl:text>Rapport:</xsl:text>
  16.       <xsl:value-of select="@centre" />
  17.     </h1>
  18.     <table align="center" border="0" cellpadding="2" cellspacing="2">
  19.       <tr>
  20.         <td align="center"><b>Nom</b></td>
  21.         <td align="center"><b>Prenom</b></td>
  22.         <td align="center"><b>Date</b></td>
  23.       </tr>
  24.       <xsl:apply-templates/>
  25.     </table> 
  26.   </xsl:template>
  27.   <xsl:template match="inscription">
  28.     <tr>
  29.       <td align="center"><xsl:value-of select="nom" /></td>
  30.       <td align="center"><xsl:value-of select="prenom" /></td>
  31.       <td align="center"><xsl:value-of select="date" /></td>
  32.     </tr>
  33.   </xsl:template>
  34. </xsl:stylesheet>
  35. <!-- eof -->


 
et le résultat html

Code :
  1. <html>
  2. <head>
  3. <META http-equiv="Content-Type" content="text/html; charset=UTF-16">
  4. <title>Rapport de fréquentation</title>
  5. </head>
  6. <body>
  7. <h1>Rapport:un centre</h1>
  8. <table align="center" border="0" cellpadding="2" cellspacing="2">
  9. <tr>
  10. <td align="center"><b>Nom</b></td>
  11. <td align="center"><b>Prenom</b></td>
  12. <td align="center"><b>Date</b></td>
  13. </tr>
  14.   <tr>
  15. <td align="center">Dupont</td>
  16. <td align="center">Albert</td>
  17. <td align="center">26/05/63</td>
  18. </tr>
  19.   <tr>
  20. <td align="center">Mercier</td>
  21. <td align="center">Josianne</td>
  22. <td align="center"></td>
  23. </tr>
  24.  
  25. </table>
  26. </body>
  27. </html>


 
Bonne continuation!

Reply

Sujets relatifs:

Leave a Replay

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