Строковые функции

Функция string

string string(object?)

Подобно функциям boolean и number, функция 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

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

Функция concat

string concat(string, string, string*)

Функция concat принимает на вход две или более строки и возвращает конкатенацию (строковое сложение) своих аргументов.

Пример:

concat('not','with','standing',' problem') 'notwithstanding problem'

Функция starts-with

boolean starts-with(string, string)

Функция starts-with принимает на вход два строковых аргумента и возвращает true, если первая строка начинается второй и false в противном случае.

starts-with('http://www.xsltdev.ru', 'http') true

starts-with('Title', 'ti') false

Функция contains

boolean contains(string, string)

Функция contains принимает на вход два строковых аргумента и возвращает true, если первая строка содержит вторую и false в противном случае.

contains('[email protected]', '(@') true

Функция substring-before

string substring-before (string, string)

Функция substring-before принимает на вход два строковых аргумента. Эта функция находит в первой строке вторую и возвращает подстроку, которая ей предшествует. Если вторая строка не содержится в первой, функция вернет пустую строку.

Примеры

substring-before('12-May-1998', '-') '12'

substring-before('12 May 1998', ' ') '12'

substring-before('12 May 1998', ' ') '12'

substring-before('12 May 1998', '-') ''

Функция substring-after

string substring-after (string, string)

Вы читаете Технология XSLT
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату