[XSLT] aide précise SVP! variables etc...

aide précise SVP! variables etc... [XSLT] - PHP - Programmation

Marsh Posté le 18-10-2002 à 15:38:52    

bonjour,
 
j'ai une xsl contenant plusieurs template differnets un a la suite de l'autre,, j'aimerais pouvoir choisir lequel appliquer en fonction d'un parametre ... j'aimerais savoir si c'est possible de faire ça, ou s'il faut forcement passer par un langage du style php derrieère et avoir plusieurs fichiers xsl différents ...  
c super urgent merci de bien vouloir répondre :jap:

Reply

Marsh Posté le 18-10-2002 à 15:38:52   

Reply

Marsh Posté le 18-10-2002 à 15:42:51    

en gros j'aimerais avoir un truc comme ça:
 


 
if (parametre_template_a_appliquer == '')
{
  appliquer_tel_template
}
sinon
{  
  appliquer_template( parametre_template_a_appliquer )
}
 


 
j'utilise xslt_create() et xslt_process, j'ai fait des tests et j'arrive à faire rentrer des parametres dynamiques dans ma XSL, mais j'arrive pas a selectionne template dynamiquement
 
meric de m'aider svp!

Reply

Marsh Posté le 18-10-2002 à 15:45:14    

Code :
  1. <xsl-if test="..">
  2.   <apply-template ... />
  3. </xsl-if>
  4. <xsl-if test="..">
  5.   <apply-template ... />
  6. </xsl-if>


 
ca le fait pas ?

Reply

Marsh Posté le 18-10-2002 à 15:59:49    

putin je suis vraiment torturé dans ma tete :(:(:(:(
oui ca marche j'ai fait ca:
 


 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:param name="pouet" />
 <xsl:template match="/">
  <xsl:if test="$pouet=\'un\'">  
   <xsl:call-template name="\'un\'" />  
  </xsl:if>
 </xsl:template>
 <xsl:template name="\'un\'">
  <p>je suis la teplate un</p>
 </xsl:template>
</xsl:stylesheet>
 

Reply

Marsh Posté le 18-10-2002 à 16:23:29    

en fait ca marche quand tout es pseudo statique, on peut pas faire de trucs dynamiques il me semble, eske kk1 pourrait confirmer svp ?
 
j'ai essayé ça:


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
 <xsl:param name="pouet" />
 
 <xsl:template match="/">
  <xsl:if test="$pouet !=\'\'">  
   <xsl:call-template>
    <xsl:attribute name="match">
     <xsl:value-of select="$pouet" />
    </xsl:attribute>
   </xsl:call-template>
  </xsl:if>
 </xsl:template>
 
 <xsl:template name="\'un\'">
  <p>template un</p>
 </xsl:template>
 
</xsl:stylesheet>
 


 
mais ça roulaize pas, ça me dit:
 
 
 
Warning: Sablotron error on line 8: missing required XSLT attribute in /export/dev/work/crv/crv_pat/crv/www/test/xslt.php on line 107
 
ERROR CODE 8
ERROR !! missing required XSLT attribute1

Reply

Marsh Posté le 18-10-2002 à 16:27:15    

en fait voila j'essaye de faire un  
 
<xsl:call-template>
et de lui passer un paramètre dynamique (pouett) en lui créant un attribut name, comme ci dessous:
 
 
   <xsl:attribute name="name">  
    <xsl:value-of select="$pouet" />  
   </xsl:attribute>  
 
 
ou bien
 
   <xsl:attribute name="\'match\'">  
    <xsl:value-of select="$pouet" />  
   </xsl:attribute>  
 
 
ou plusieurs combianisons de ca, rien n'y fait :( j'y arrive pas :(:(:(:(
 
j'ai essayé en faisant directement
 
 
  <xsl:call-template name="$pouet">  
 
  </xsl:call-template>
 
mais ça passe pas :( aide :(:(:(:

Reply

Sujets relatifs:

Leave a Replay

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