Bonjour ami(e)s développeurs,
Je souhaite chercher une sous-chaine dans une chaine (Je voudrais chercher les retours chariot et les remplacer par des </br>.
J'ai cherché sur le net et j'ai trouvé une façon pour faire mais ça fait planter mon programme.
Voilà comment j'ai procédé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<!-- récuperer la chaine et appeler la méthode de traitement-->       
       <xsl:for-each select="./attribut[@nom='compteRendu']" >
             <xsl:call-template name="convertCrToBr">                
                 <xsl:with-param name="texte">
                        <xsl:value-of select="./compteRendu"/>
                 </xsl:with-param>  
              </xsl:call-template>     
       </xsl:for-each>
Pour l'instant, je tente de remplacer la chaine 'ligne' par la chaine 'modification'
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
 
<xsl:template name="convertCrToBr">
        <xsl:param name="texte"/>
 
        <xsl:variable name="strARemplacer">
        <xsl:value-of select="ligne" />
        </xsl:variable>
 
        <xsl:variable name="strRemplacerPar">
        <xsl:value-of select="modification" />
        </xsl:variable>
 
        <xsl:choose>
            <xsl:when test="contains($texte,$strARemplacer)">
                <xsl:value-of select="substring-before($texte,$strARemplacer)"/>
                <xsl:value-of select="$strRemplacerPar"/>
                <xsl:call-template name="convertCrToBr">
                    <xsl:with-param name="texte" select="substring-after($texte,$strARemplacer)"/>            
                </xsl:call-template>
            </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="$texte"/>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:template>
Le soucis c'est que j'ai une exception de ce genre : Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError


J'ai l'impression que j'ai une boucle infinie mais je ne trouve pas.
Je vous remercie pour votre aide.