From: Denis BAYARD (denis.bayard@edfgdf.fr)
Date: 29/04/2004 - 08:29
Bonjour,
il est possible d'utiliser une programmation récursive sur la
partie apès le caractère à traiter.
Voici à titre d'exemple une règle permettant de redoubler toutes les
occurences d'un caractère.
Je ne garantis pas que celà soit la meilleure méthode, mais çà peut aider.
<!--
*********************************************************************************************************
double-caracteres
*********************************************************************************************************
-->
<xsl:template name="double-caracteres">
<xsl:param name="chaine"/>
<xsl:param name="car"/>
<xsl:if test="string-length($chaine) > 0">
<xsl:value-of
select="substring-before(concat($chaine,$car),$car)"/>
<xsl:value-of select="$car"/>
<xsl:value-of select="$car"/>
<!-- Appel récursif. -->
<xsl:call-template name="double-caracteres">
<xsl:with-param name="chaine">
<xsl:value-of
select="substring-after($chaine,$car)"/>
</xsl:with-param>
<xsl:with-param name="car">
<xsl:value-of select="$car"/>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>
<!--
*********************************************************************************************************
-->
Veuillez répondre à xml-tech@xmlfr.org
Envoyé par : xml-tech-bounce@xmlfr.org
Pour : xml-tech@xmlfr.org
cc :
Objet : [xml-tech] encodage d'URL
Bonjour,
je souhaite générer des chaînes de caractères urlencodées (cf. rfc 1738)
dans un
programme XSLT.
Il s'agit de remplacer certains caractères par une suite de type %xx ou
xx représente le code hexadécimal du caractère à encoder (ex: %20 pour un
espace).
translate ne semble pas être la réponse.
Quelles sont les solutions ?
Merci.
--
François Dagorn
Université de Rennes 1
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|