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

  FORUM HardWare.fr
  Programmation
  XML/XSL

  questions de débutant sur xslt

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

questions de débutant sur xslt

n°1139490
boulax
Inserer phrase hype en anglais
Posté le 04-07-2005 à 15:50:25  profilanswer
 

Bonjour, comment je fais pour virer les redondances dans ce code:
 

Code :
  1. <xsl:for-each select="/catalog/cd">
  2. <xsl:sort select="artist" />
  3. <xsl:choose>
  4. <xsl:when test="price &gt; 10">
  5.  <tr class="rouge">
  6.   <td> <xsl:value-of select="title" /> </td>
  7.   <td> <xsl:value-of select="artist" /> </td>
  8.  </tr>
  9. </xsl:when>
  10. <xsl:otherwise>
  11.  <tr class="vert">
  12.    <td> <xsl:value-of select="title" /> </td>
  13.   <td> <xsl:value-of select="artist" /> </td>
  14.  </tr>
  15. </xsl:otherwise>
  16. </xsl:choose>
  17. </xsl:for-each>


 
j'ai essayé avec un template du genre
 

Code :
  1. <xsl:template match="/catalog/cd">
  2. <td> <xsl:value-of select="title" /> </td>
  3. <td> <xsl:value-of select="artist" /> </td>
  4. </xsl:template>


 
puis avec des appels à ce template :

Code :
  1. <xsl:for-each select="/catalog/cd">
  2. <xsl:sort select="artist" />
  3. <xsl:choose>
  4. <xsl:when test="price &gt; 10">
  5.  <tr class="rouge">
  6.       <xsl:apply-templates select="cd" />
  7.                 </tr>
  8. </xsl:when>
  9. <xsl:otherwise>
  10.  <tr class="vert">
  11.       <xsl:apply-templates select="cd" />
  12.  </tr>
  13. </xsl:otherwise>
  14. </xsl:choose>
  15. </xsl:for-each>


 
...mais ca foire, je suis en train de m'initier à XSL donc il est possible que je n'aie pas tout compris [:joce]. Je dois mal m'y prendre [:marc]


---------------
Posté depuis des chiottes, sales. Me gusta.
mood
Publicité
Posté le 04-07-2005 à 15:50:25  profilanswer
 

n°1139606
boulax
Inserer phrase hype en anglais
Posté le 04-07-2005 à 17:37:14  profilanswer
 

Bon j'ai contourné en faisant ça:
 

Code :
  1. <xsl:for-each select="/catalog/cd">
  2. <xsl:sort select="artist" />
  3. <xsl:variable name="cdcontent">
  4. <td> <xsl:value-of select="title" /> </td>
  5. <td> <xsl:value-of select="artist" /> </td>
  6. </xsl:variable>
  7. <xsl:choose>
  8. <xsl:when test="price &gt; 10">
  9.  <tr class="rouge">
  10.   <xsl:copy-of select="$cdcontent" />
  11.  </tr>
  12. </xsl:when>
  13. <xsl:otherwise>
  14.  <tr class="vert">
  15.    <xsl:copy-of select="$cdcontent" />
  16.  </tr>
  17. </xsl:otherwise>
  18. </xsl:choose>
  19. </xsl:for-each>


 
Mais dans le principe vous aurez compris ce que je cherchais à faire [:itm]


---------------
Posté depuis des chiottes, sales. Me gusta.
n°1141874
avander
Posté le 06-07-2005 à 12:11:47  profilanswer
 

Regarde un peu xsl:call-template avec un xsl:with-param comme dans cet exemple extrait du MSXML 4.0 SDK
 


  ...
  <xsl:call-template name="localized-message">
    <xsl:with-param name="msgcode">msg23</xsl:with-param>
  </xsl:call-template>
  ...
 
<xsl:template name="localized-message">
  <xsl:param name="msgcode"/>
 
  <!-- code redondant -->
</xsl:template>
 


 
maintenant dans l'exemple que tu donne je vois pas trop l'interêt... en fait tu n'a même pas besoin du xsl:with-param, tu appeles juste un template par son nom avec dedans le code commun.  
 


Message édité par avander le 06-07-2005 à 12:14:11
n°1145972
FlorentG
Posté le 11-07-2005 à 09:41:34  profilanswer
 

<xsl:for-each select="/catalog/cd">
  <xsl:sort select="artist" />
  <xsl:choose>
    <tr>
      <xsl:attribute name="class">
        <xsl:choose>
          <xsl:when test="price &gt; 10">rouge</xsl:when>
          <xsl:otherwise>vert</xsl:otherwise>
        </xsl:choose>
      </xsl:attribute>
      <td><xsl:value-of select="title" /></td>
      <td><xsl:value-of select="artist" /></td>      
    </tr>
</xsl:for-each>

n°1145974
boulax
Inserer phrase hype en anglais
Posté le 11-07-2005 à 09:43:40  profilanswer
 

may cay magik [:dawa]


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

  questions de débutant sur xslt

 

Sujets relatifs
Débutant : Helpquestions PHP et les formulaires:
Probleme d'image aleatoire et lien (debutant)Quelques questions en SQLite...
CSS - Questions de débutantquestions sur la réalisation d'un site commercial
[c#] [débutant] Lister un repertoire et ses sous-repertoirePassage de parametre de php vers XSLT
aide sur css html debutant 
Plus de sujets relatifs à : questions de débutant sur xslt


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