Пример:
concat('not','with','standing',' problem')→ 'notwithstanding problem'
boolean starts-with( string , string )
Функция starts-withпринимает на вход два строковых аргумента и возвращает true, если первая строка начинается второй и falseв противном случае.
starts-with('http://www.xsltdev.ru', 'http')→ true
starts-with('Title', 'ti')→ false
boolean contains( string , string )
Функция containsпринимает на вход два строковых аргумента и возвращает true, если первая строка содержит вторую и falseв противном случае.
contains('address@host.com', '(@')→ true
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', '-')→ ''
string substring-after( string , string )
Эта функция аналогична функции substring-before, только она возвращает строку, которая следует за вторым аргументом. Если вторая строка не содержится в первой, эта функция также вернет пустую строку.
Примеры
substring-after('12-May-1998', '-')→ 'May-1998'
substring-after('12 May 1998', ' ')→ 'May 1998'
substring-after('12 May 1998', ' ')→ 'May 1998'
substring-after('12 May 1998', '-')→ ''
string substring( string , number , number ?)
Функция substringвозвращает подстроку переданного ей строкового аргумента, которая начинается с позиции, указанной вторым аргументом и длиной, указанной третьим аргументом. Если третий аргумент опущен, подстрока продолжается до конца строки. Если численные аргументы являются нецелыми, они округляются при помощи функции round.
В XPath позицией первого символа является 1, а не 0, как в некоторых других языках программирования.
При вычислении подстроки учитываются следующие условия.
□ Если первый численный аргумент меньше 1(это относится и к отрицательной бесконечности), то подстрока начинается с начала строки.
□ Если первый численный аргумент больше длины строки (это относится и к положительной бесконечности), то подстрока будет пустой.
□ Если второй численный аргумент меньше 1(это относится и к отрицательной бесконечности), то подстрока будет пустой.
□ Если второй численный аргумент, сложенный с первым, больше длины строки плюс один, подстрока будет продолжаться до конца строки.
Примеры
substring('123456', 2, 3)→ '234'
substring('123456', 2, 5)→ '23456'
substring('123456', 2, 6)→ '23456'
substring('123456', 2)→ '23456'
substring('123456', -4)→ '123456'
substring('123456', 5, 5)→ '5'
substring('123456', 5)→ '56'
substring ('123456', 6)→ '6'
substring('123456', 1 div 0, )→ ''
substring('123456', 2, -1)→ ''
number string-length( string ?)
Функция string-lengthвозвращает число символов строкового аргумента. Если аргумент опущен, string-lengthвозвращает длину строкового представления контекстного узла.
Напомним, что длина строки не имеет ничего общего с количеством байт, которое требуется для ее представления. Разные формы кодирования используют разное количество байт для записи символов, внутренние представления строк также могут быть различными, но длина строки в любом случае — это число символов, которые ее составляют.
Примеры
string-length('Barnes and Noble')→ 16
string-length('Barness#x20;& Noble')→ 14
string normalize-space( string ?)
Функция normalize-spaceпроизводит со своим строковым аргументом так называемую нормализацию пробельного пространства. Это означает, что в строке удаляются ведущие и заключающие пробельные символы, а все последовательности пробелов заменяются одним пробельным символом. Иными словами, функция удаляет "лишние" пробелы в строке.
Если аргумент функции опущен, она выполняется со строковым значением контекстного узла.
Читать дальше