<html>
<head>
<title>translate() ֐</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">translate() ֐</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description">
̌X̕ 1 ̒lʂ̒lɕϊ܂B̊֐́Ǎő啶Əϊ邽߂̋͂ȋ@\LĂ܂B </td></tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">
<p>3 ̕Bŏ͌̕̕ύXĂȂŁA2 Ԗڂ 3 Ԗڂ͕̕ϊ镶`܂B </p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">o</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>̂悤ɕύXꂽ̕B</p>
<ul>
<dd>̕̕ 2 Ԗڂ̃p[^ɏoꍇA3 Ԗڂ̃p[^̑Ή镶ɒu܂BƂ΁A <span class="LITERAL">J</span> ̕ɏoA<span class="LITERAL">J</span>  2 Ԗڂ̃p[^ 4 Ԗڂ̕ƂďoꍇA<span class="LITERAL">J</span>  3 Ԗڂ̃p[^ 4 Ԗڂ̕ɒu܂BɂẮA̗Ő܂B</p>
        </li>
<dd>̕̕ 2 Ԗڂ̃p[^ɏoA3 Ԗڂ̃p[^ɑΉ镶Ȃ (2 Ԗڂ̃p[^ 3 Ԗڂ) ꍇA͍̕폜܂BƂ΁A <span class="LITERAL">J</span> ̕ɏoA<span class="LITERAL">J</span>  2 Ԗڂ̃p[^ 4 Ԗڂ̕Ƃĕ\A3 Ԗڂ̃p[^̒ 3 łꍇA<span class="LITERAL">J</span> ͍폜܂B </p>
        </li>
<dd>2 Ԗڂ̃p[^̕oꍇAŏ̏oɂĒu镶w肳܂B</p>
        </li>
<dd>3 Ԗڂ̃p[^ 2 Ԗڂ̃p[^ꍇA]ȕ͖܂B </p>
        </li>
      </ul>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">`</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>XPath 4.2 ߁u֐v </p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE"></td>
</tr>
<tr>
<td colspan="2" class="description">
<p><span class="LITERAL">translate()</span> ֐gp邢̗܂ރX^CV[gɎ܂B</p>
<span class="PROGRAMLISTING"><pre>
&lt;?xml version="1.0"?&gt;
&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;

  &lt;xsl:output method="text"/&gt;

  &lt;xsl:variable name="newline"&gt;
&lt;xsl:text&gt;
&lt;/xsl:text&gt;
  &lt;/xsl:variable&gt;

  &lt;xsl:template match="/"&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;Tests of the translate() function:&lt;/xsl:text&gt;

    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;Convert a string to uppercase:&lt;/xsl:text&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;   translate('Doug', 'abcdefghijklmnopqrstuvwxyz', &lt;/xsl:text&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;             'ABCDEFGHIJKLMNOPQRSTUVWXYZ')=&lt;/xsl:text&gt;
    &lt;xsl:value-of select="translate('Doug', 
      'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;Convert a string to lowercase:&lt;/xsl:text&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;   translate('Doug', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', &lt;/xsl:text&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;             'abcdefghijklmnopqrstuvwxyz')=&lt;/xsl:text&gt;
    &lt;xsl:value-of 
      select="translate('Doug', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 
                        'abcdefghijklmnopqrstuvwxyz')"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;Remove parentheses, spaces, and dashes&lt;/xsl:text&gt;
    &lt;xsl:text&gt; from a U.S. phone number:&lt;/xsl:text&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;   translate('(555) 555-1212', '() -', '')=&lt;/xsl:text&gt;
    &lt;xsl:value-of select="translate('(555) 555-1212', '() -', '')"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;Replace all but the last four digits of a &lt;/xsl:text&gt;
    &lt;xsl:text&gt;credit card number with Xs:&lt;/xsl:text&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:variable name="credit" select="'4918 3829 9920 1810'"/&gt;
    &lt;xsl:text&gt;   $credit='&lt;/xsl:text&gt;
    &lt;xsl:value-of select="$credit"/&gt;
    &lt;xsl:text&gt;'&lt;/xsl:text&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;   translate(substring($credit, 1, 15), &lt;/xsl:text&gt;
    &lt;xsl:text&gt;'1234567890 ', 'XXXXXXXXXX-')&lt;/xsl:text&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;   substring($credit, 16)&lt;/xsl:text&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;   The first part is &lt;/xsl:text&gt;
    &lt;xsl:value-of 
      select="translate(substring($credit, 1, 15), '123457890 ', 
        'XXXXXXXXX-')"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;   The second part is &lt;/xsl:text&gt;
    &lt;xsl:value-of select="substring($credit, 16)"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:value-of select="$newline"/&gt;
    &lt;xsl:text&gt;   Here's how they look together: &lt;/xsl:text&gt;
    &lt;xsl:value-of 
      select="translate(substring($credit, 1, 15), '123457890 ', 
        'XXXXXXXXX-')"/&gt;
    &lt;xsl:value-of select="substring($credit, 16)"/&gt;
  &lt;/xsl:template&gt;

&lt;/xsl:stylesheet&gt;</pre></span>
<p>̃X^CV[gCӂ XML hLgɎgpʂ͎̂ƂłB</p>
<span class="PROGRAMLISTING"><pre>

Tests of the translate() function:

Convert a string to uppercase:
   translate('Doug', 'abcdefghijklmnopqrstuvwxyz',
             'ABCDEFGHIJKLMNOPQRSTUVWXYZ')=DOUG

Convert a string to lowercase:
   translate('Doug', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
             'abcdefghijklmnopqrstuvwxyz')=doug

Remove parentheses, spaces, and dashes from a U.S. phone number:
   translate('(555) 555-1212', '() -', '')=5555551212

Replace all but the last four digits of a credit card number with Xs:
   $credit='4918 3829 9920 1810'
   translate(substring($credit, 1, 15), '1234567890 ', 'XXXXXXXXXX-')
   substring($credit, 16)

   The first part is XXXX-XXXX-XXXX-
   The second part is 1810

   Here's how they look together: XXXX-XXXX-XXXX-1810
</pre></span>
</td>
</tr>
</table>
</div>
</body>
</html>
