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é :
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 <!-- 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>
Le soucis c'est que j'ai une exception de ce genre : Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
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>
J'ai l'impression que j'ai une boucle infinie mais je ne trouve pas.
Je vous remercie pour votre aide.
Partager