script pour modifier un xsl:for-each

script pour modifier un xsl:for-each - XML/XSL - Programmation

Marsh Posté le 23-02-2009 à 22:40:06    

Bonjour,
 
Je cherche a crée une base de connaissance en xml.
Mais je bloque sur generé une nouvelle page suivant le sommaire.
a priori je doit crée un scrip, mais j'y connais rien http://forum-images.hardware.fr/icones/message/icon9.gif
 
je mexplique:
 
Mon xsl / template a modifier
 

Code :
  1. <xsl:template name="GED_Intro">
  2. <xsl:for-each select="GED_JojoSs/GED_Moteur">
  3.  <xsl:sort select="type" order="ascending"/>
  4.  <xsl:sort select="Revision" order="descending"/>
  5.  <xsl:call-template name="ContactBlock">
  6.  </xsl:call-template>
  7. </xsl:for-each>
  8. </xsl:template>


 
Mon sommaire (voici mon niveau 1, j'en ai deux dans mon document:

Code :
  1. <xsl:template name="GED_Sommaire">
  2. <!-- Sommaire Niveau 1 -->
  3. <xsl:for-each select="//GED_Sommaire/Niveau_1">
  4. <xsl:sort select="Nom" order="ascending"/>
  5. <br id="RetourChariot"/>
  6.  <table id="EnTete_04" cellpadding="2" cellspacing="2">
  7.   <tbody>
  8.    <tr>
  9.     <td class="Sommaire_Clik">
  10.      <a href="javascript:('maVariableXSLT');">
  11.       <xsl:value-of select="@Nom"/>
  12.      </a>
  13.     </td>
  14.    </tr>
  15.   </tbody>
  16.  </table>


 
en gros je voudrais pouvoir cliquer sur <xsl:value-of select="@Nom"/> et que 'GED_Moteur' dans   <xsl:for-each select="GED_JojoSs/GED_Moteur"> soit remplacer par avec la varible de mon choix pour qu'un nouveau tri soit visible.
 
Mon xml

Code :
  1. <GED_Sommaire>
  2. <Niveau_1 Lien="GED_Moteur" Nom="Les moteurs">
  3.  <Niveau_2 Lien="GED_Mot_Diesel" Nom="Moteur Diesel">
  4.  </Niveau_2>
  5.  <Niveau_2 Lien="GED_Mot_Essence" Nom="Moteur Essence">
  6.  </Niveau_2>
  7. </Niveau_1>


 
Quelqu'un a t'il une idee ou mieux une solution ???
http://forum-images.hardware.fr/icones/message/icon3.gif
 
Par avance Merci beaucoup
JojoSs

Reply

Marsh Posté le 23-02-2009 à 22:40:06   

Reply

Marsh Posté le 24-02-2009 à 16:17:31    

Pas très clair ce que tu veux faire... n'oublies pas qu'un stylesheet XSLT n'est rien de plus qu'une recette pour transformer un format XML en autre chose, donc pas d'interactivé, pas de variables temporaires.  

Reply

Marsh Posté le 25-02-2009 à 20:15:21    

Merci avander

avander a écrit :

Pas très clair ce que tu veux faire... n'oublies pas qu'un stylesheet XSLT n'est rien de plus qu'une recette pour transformer un format XML en autre chose, donc pas d'interactivé, pas de variables temporaires.  


 
Justement mon probleme est là

Citation :

n'oublies pas qu'un stylesheet XSLT n'est rien de plus qu'une recette pour transformer un format XML en autre chose, donc pas d'interactivé, pas de variables temporaires.  


 
En gros je ne voudrais pas crée 20 fichiers xsl... Juste une recette avec toute mes variables.
Je penser  au debut faire divers call forme01.xsl pour mon sommaire 01 et call forme02.xsl et ainsi de suite.
 
ou mieux un script qui changerais "GED_Moteur" ou <xsl:for-each select="GED_JojoSs/GED_Moteur">

Code :
  1. <xsl:template name="GED_Intro">
  2.      <xsl:for-each select="GED_JojoSs/GED_Moteur">
  3.           <xsl:sort select="type" order="ascending"/>
  4.           <xsl:sort select="Revision" order="descending"/>
  5.           <xsl:call-template name="ContactBlock">
  6.          </xsl:call-template>
  7.      </xsl:for-each>
  8. </xsl:template>


je sais bien que la sollution que je choisi n'est pas interactive mais recharger ma page avec une nouvelle mis en forme ça doit etre fesable...


Message édité par JojoSs75 le 07-03-2009 à 19:39:06
Reply

Marsh Posté le 07-03-2009 à 19:38:31    

Je crois avoir trouver une piste...
 
Reste a extraire...
 
Bibliographie XML en XML
     http://xml.chez.com/biblio/biblio.xml
 
Jouer avec les Maximes
     http://membres.lycos.fr/clotilde/xml/index.htm
     http://membres.lycos.fr/clotilde/x [...] ortmax.htm
     http://membres.lycos.fr/clotilde/x [...] sorter.xml

Reply

Sujets relatifs:

Leave a Replay

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