bonjour,
un fichier Word convertit en HTML me génére à chaque titre des espaces entre les numéros et le texte du titre...
apparement il s agit en fait de tabulation.
pour les retirer, voici le template simple que j execute pour les supprimer
ce qui arrive dans le template est un node du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <x:p class="ADTITLE1"> <x:span>DEBUT <x:span> </x:span> </x:span> <x:span>FIN.</x:span> <x:span> </x:span> </x:p>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <xsl:template name="getText"> <xsl:for-each select="text()"> <xsl:variable name="indent" select="string(' ')"/> <xsl:call-template name="removeTxt"> <xsl:with-param name="txt" select="."/> <xsl:with-param name="txtToRemove" select="$indent"/> </xsl:call-template> </xsl:for-each> <xsl:for-each select="*"> <xsl:call-template name="getText"/> </xsl:for-each> </xsl:template>bref l appel de ces deux templates me récupère les text() et supprime les espaces de début...
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 <xsl:template name="removeTxt"> <xsl:param name="txt"/> <xsl:param name="txtToRemove"/> <xsl:variable name="StrLength" select="string-length($txt)"/> <xsl:variable name="StrToRemoveLength" select="string-length($txtToRemove)"/> <xsl:choose> <xsl:when test="starts-with($txt,$txtToRemove)"> <xsl:call-template name="removeTxt"> <xsl:with-param name="txt" select="substring($txt,$StrToRemoveLength"/> <xsl:with-param name="txtToRemove" select="$txtToRemove"/> </xsl:call-template> </xsl:when> <xsl:otherwise><xsl:value-of select="$txt"/></xsl:otherwise> </xsl:choose> </xsl:template>
or rien ne se passe!
je suppose que Word n exporte pas d espace en fait mais dans ces cas là comment savoir ce que c est et comment réussir à les supprimer!
Partager