Fonction translate
Retourne la première chaîne d'arguments en remplaçant les occurrences des caractères spécifiés dans la seconde chaîne d'arguments par le caractère situé à la position correspondante dans la troisième chaîne d'arguments.
string translate(string, string, string)
Notes
Cette fonction fournit un mappage des caractères dans le premier argument.Les deuxièmes et troisièmes arguments décrivent le schéma du mappage.
L'appel de fonction suivant retourne « BAr » :
translate("bar","abc","ABC")
S'il y a un caractère dans la deuxième chaîne d'arguments pour lequel il n'y a pas de caractère dans une position correspondante dans la troisième chaîne d'arguments (parce que la deuxième chaîne d'arguments est plus longue que la troisième), les occurrences de ce caractère contenues dans la première chaîne d'arguments sont supprimées.
L'appel de fonction suivant retourne « AAA » :
translate("--aaa--","abc-","ABC")
Si un caractère apparaît plus d'une fois dans la deuxième chaîne d'arguments, c'est la première occurrence qui détermine le caractère de remplacement.Si la troisième chaîne d'arguments est plus longue que la deuxième, les caractères excédentaires sont ignorés.
Si un argument n'est pas du type chaîne, il est tout d'abord converti en chaîne à l'aide de la fonction string() et le résultat de cette conversion est ensuite évalué.
Avertissement
Les conversions de chaînesdes collections de nœuds transmises en tant qu'arguments à cette fonction peuvent donner des résultats inattendus.Pour plus d'informations, voir Fonction string.
Cette fonction respecte la casse.
Exemple
Cet exemple illustre les expressions translate() précédentes.
Fichier XML
Aucun, le fichier XSLT s'appelle lui-même.
Fichier XSLT (translate.xsl)
<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="translate.xsl"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
translate("bar","abc","ABC") =
<xsl:value-of select='translate("bar","abc","ABC")'/>
<br/>translate("--aaa--","abc-","ABC") =
<xsl:value-of select='translate("--aaa--","abc-","ABC")'/>
</xsl:template>
</xsl:stylesheet>
Données en sortie formatées
translate("bar","abc","ABC") = BAr translate("--aaa--","abc-","ABC") = AAA
Sortie du processeur
<?xml version="1.0" encoding="UTF-16"?> translate("bar","abc","ABC") = BAr<br />translate("--aaa--","abc-","ABC") = AAA