Поделиться через


Функция translate (XPath)

Возвращает первую строку аргумента, в которой символы из второй строки аргумента заменены на символы, находящиеся в той же позиции в третьей строке аргумента.

string translate(string, string, string)

Заметки

Эта функция обеспечивает сопоставление символов в первом аргументе. Второй и третий аргументы описывают схему сопоставления.

При вызове следующей функции возвращается значение «BAr».

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

Если символу во второй строке аргумента не соответствует символ в третьей строке аргумента (т. к. вторая строка аргумента длинее третьей строки аргумента), то вхождения этого символа в первой строке аргумента удаляются.

При вызове следующей функции возвращается значение «AAA».

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

Если во второй строке аргумента символ встречается чаще одного раза, то символ замены определяется первым вхождением. Если третья строка аргумента длиннее второй строки аргумента, лишние символы игнорируются.

Если аргумент не имеет типа string, сначала он преобразуется в строку с помощью функции string(), после чего вычисления производятся с результатом преобразования.

Предупреждение

Преобразованиястрок для наборов узлов, передаваемых этой функции в качестве аргументов, могут привести к непредвиденным результатам.Для получения дополнительной информации см. Функция string (XPath).

Эта функция учитывает регистр символов.

Пример

Этот пример иллюстрирует предыдущие выражения translate()expressions.

XML-файл

Ничего. XSLT-файл вызывает сам себя.

XSLT-файл (translate.xslt)

<?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>

ms256119.collapse_all(ru-ru,VS.120).gifФорматированный вывод

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

ms256119.collapse_all(ru-ru,VS.120).gifВывод обработчика

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

См. также

Ссылки

Справочник по типам данных XML