Partager via


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

Voir aussi

Référence

Référence des types de données XML