translate Function

MSXML 5.0 SDK

Microsoft XML Core Services (MSXML) 5.0 for Microsoft Office - XPath Reference

translate Function

Returns the first argument string with occurrences of characters in the second argument string replaced by the character at the corresponding position in the third argument string.

string translate(string, string, string)

Remarks

This function provides a mapping of characters on the first argument. The second and third arguments describes the scheme of the mapping.

The following function call returns "BAr":

translate("bar","abc","ABC")

If there is a character in the second argument string with no character at a corresponding position in the third argument string (because the second argument string is longer than the third argument string), occurrences of that character in the first argument string are removed.

The following function call returns "AAA":

translate("--aaa--","abc-","ABC")

If a character occurs more than once in the second argument string, the first occurrence determines the replacement character. If the third argument string is longer than the second argument string, excess characters are ignored.

If an argument is not of type string, it is first converted to a string and then evaluated.

Example

This example demonstrates the preceding translate() expressions.

XML File

None; the XSLT file calls itself.

XSLT File (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>

Formatted Output

translate("bar","abc","ABC") = BAr
translate("--aaa--","abc-","ABC") = AAA

Processor Output

<?xml version="1.0" encoding="UTF-16"?>
   translate("bar","abc","ABC") = 
      BAr<br />translate("--aaa--","abc-","ABC") = 
      AAA

See Also

Data Types in Schemas | XDR Schema Data Types Reference | XML Data Types Reference