1. Главная
  2. Функции XPath
  3. string()

string XPath

Become a Patron!

Функция string преобразует свой аргумент к строковому типу явным образом. Если аргумент опущен, функции передается множество узлов, состоящее из единственного контекстного узла.

Синтаксис

XPath 1.0

string string( object? )

Спецификация

XPath 2.0

fn:string() as xs:string
fn:string($arg as item()?) as xs:string

Описание и примеры

Правила приведения к строке

Напомним вкратце правила приведения других типов к строке.

Булевые значения преобразуются в строку следующим образом:

  • “истина” (true) преобразуется в строку “true”;
  • “ложь” (false) преобразуется в строку “false”.

Числа преобразуются к строковому виду следующим образом:

  • не-число (NaN) преобразуется в строку “NaN”;
  • положительный нуль преобразуется в строку “0”;
  • отрицательный нуль преобразуется в строку “0”;
  • положительная бесконечность преобразуется в строку “Infinity”;
  • отрицательная бесконечность преобразуется в строку “-Infinity”;
  • положительные целые преобразуются в свое десятичное представление без ведущих нулей и без точки (“.”), отделяющей дробную часть от целой;
  • отрицательные целые преобразуются так же, как и положительные, но с начальным знаком “минус” (“-”);
  • остальные числа преобразуются в десятичное представление с использованием точки (“.”), отделяющей целую часть от дробной части; целая часть не содержит ведущих нулей (кроме случая с числами в интервале (-1;1)), дробная часть содержит столько цифр, сколько требуется для точного представления числа.

Множество узлов преобразуется в строковое значение своего первого в порядке просмотра документа узла. Если множество пусто, функция возвращает пустую строку.

Объекты других типов преобразуются в строку в соответствии с собственными правилами. Например, результирующий фрагмент дерева преобразуется в конкатенацию всех своих строковых узлов.

Примеры

string(boolean(0)) ? false
string(number('zero')) ? NaN
string(number('.50000')) ?0.5
string(number(00500.)) ? 500

Для строкового форматирования чисел рекомендуется использовать функцию XPath format-number совместно с элементом xsl:decimal-format.