[XSL] replace un espace? ou est ce autre chose?
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:
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:
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> |
Code:
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> |
bref l appel de ces deux templates me récupère les text() et supprime les espaces de début...
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!
:roll: