Par rapport à la discussion d'origine :
http://www.developpez.net/forums/d10...-ok-variables/

J'ai bien compris que les "variables" xsl ne l'était qu'au sens littéral et que l'on ne pouvait pas les faire variées.

Existe-il des solutions , des astuces ?

car j'aurais voulu faire évoluer encore mon template de façon à ne rentrer qu'un seule fois dans mon cas contenant mon expression.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<xsl:template name="liste_index">
<ul>
    <xsl:for-each select="//Index">
      <xsl:variable name="IsImprReg" select="false()"/>
	<xsl:choose>
           <xsl:when test="NomNotice[contains(.,'ImprReg')]">
              <xsl:if test="$IsImprReg'">
	          <li>
                    <xsl:text>test de région .html</xsl:text>
               	    <xsl:variable name="IsImprReg" select="true()"/>
                   </li>
              </xsl:if>
	  </xsl:when>
          <xsl:otherwise>
	  <li>
 	 	  <xsl:element name="a">
		       <xsl:attribute name="href">
		         <xsl:value-of select="NomNotice"/>
		         <xsl:text>-1.html</xsl:text>
		       </xsl:attribute>
		     <xsl:value-of select="Nom"/>
		  </xsl:element>
		</li>
	</xsl:otherwise> => CAS  ok, et fonctionnel
   </xsl:choose>
  </xsl:for-each>
</ul>
</xsl:template>
peut être avec de la récursivité? ( si cela marche en Xsl ? )

encore merci d'avance