Comment analyser une chaîne de caractères composée de champs séparés par un
délimiteur avec XSLT?
Eric van der Vlist,
Dyomedea (vdv@dyomedea.com).
vendredi 23 mars 2001
J'ai un fichier XML, dans le
quel j'ai une chaîne de caractères que je dois transformer en utilisant XSLT.
La chaîne se présente de la manière suivante :
<CHAINE>xxx1/xxx2/xxx3/.../xxxN</CHAINE>
Comment faire pour récupérer uniquement la dernière valeur "xxxN".
La librairie XPath est un peu
pauvre en ce qui concerne les fonctions permettant d'analyser les chaînes de
caractères et il faut faire avec ce que l'on a (en l'occurrence contains et substring-after)
et un appel récursif de template.
Par exemple:
<xsl:template match="CHAINE" name="dernier">
<xsl:param name="chaine" select="."/>
<xsl:choose>
<xsl:when test="contains($chaine,'/')">
<xsl:call-template name="dernier">
<xsl:with-param name="chaine"
select="substring-after($chaine,'/')"/>
<xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$chaine"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
mostapha:
"[xml-tech] Strings"Eric
van der Vlist: "[xml-tech] Re: Strings"
Copyright 2001,
Eric van der Vlist.
|