Salut tout le monde
j'ai une chaine de caractères dans un element
<myElement>
#1table#2#3table#2
</myElement>
que je veux remplacer par
<myElement>
<table></table>
</myElement>
'#1' = '<'
'#2' = '>'
'#3' = '</'
merci
Salut tout le monde
j'ai une chaine de caractères dans un element
<myElement>
#1table#2#3table#2
</myElement>
que je veux remplacer par
<myElement>
<table></table>
</myElement>
'#1' = '<'
'#2' = '>'
'#3' = '</'
merci
decouper , dans une fonction recursive , a l'aide des fonctions substring-after, substring-before.
exemple d'utilisation de ces fonctions sur ce forum
j'ai utilisé une fonction récursive qui me permet de modifier un seul carctère #1 dans toute la chaine mais je veux modifier #2 et #3, c'est la dessus que je bloque
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:diff="http://www.prostep.org/"> <xsl:template match="/"> <HTML> <HEAD> <TITLE>Titre de la page</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <xsl:apply-templates/> </BODY> </HTML> </xsl:template> <xsl:template match="personne"> <ul> <li> <xsl:value-of select="nom"/> <xsl:value-of select="prenom"/> <!--<xsl:value-of select="CasDEmploi"/>--> </li> </ul> </xsl:template> <xsl:template match="CasDEmploi"> <xsl:call-template name="substitute"> <xsl:with-param name="chaine" select="."/> <xsl:with-param name="changer" select="'#1'"/> <xsl:with-param name="changeBy" select="'<'"/> </xsl:call-template> </xsl:template> <xsl:template name="substitute"> <xsl:param name="chaine"/> <xsl:param name="changer"/> <xsl:param name="changeBy"/> <xsl:variable name="avant" select="substring-before($chaine,$changer)"/> <xsl:variable name="apres" select="substring-after($chaine, $changer)"/> <xsl:value-of select="$avant"/> <xsl:value-of select="$changeBy"/> <xsl:choose> <xsl:when test="contains($apres,$changer)"> <xsl:call-template name="substitute"> <xsl:with-param name="chaine" select="$apres"/> <xsl:with-param name="changer" select="$changer"/> <xsl:with-param name="changeBy" select="$changeBy"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$apres"/> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager