Salut tout le monde,
A partir de cet exemple
Le but c'est de récupérer 11 22 33
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <table> <tr> <td> blablaMC11blablablablaMC22blablablabla </td> <td> blablablaMC33blabla </td> </tr> </table>
Le XSLT suivant ce base sur le mot clé ---> "MC" dans l'exemple puis fait un substring-after avec la longeure voulue pour récupérer les chifres
Je n'arrive à récupérer que le premier chiffre 11 mais pas les autres
comment faire pour récupérer les autres chiffres 22 33 ?
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 <xsl:template match="/"> <number> <xsl:choose> <xsl:when test="//text()[contains(., 'MC')]"> <xsl:variable name="txt1"> <xsl:copy-of select="//text()[contains(., 'MC')]"/> </xsl:variable> <xsl:variable name="txt2"> <xsl:copy-of select="normalize-space(translate((substring-after($txt1,'MC')), ': .',''))"/> </xsl:variable> <xsl:variable name="num"> <xsl:copy-of select="substring($txt2, 1,2)"/> </xsl:variable> <!-- un petit test pour être sûr de ne récupérer que des chifres avec une longueure de 2--> <xsl:choose> <xsl:when test="number($num) and string-length($num) =2"> <xsl:value-of select="$num"/> </xsl:when> </xsl:choose> </xsl:when> </xsl:choose> </number> </xsl:template>
merci pour votre aide
Partager