Чтение онлайн

ЖАНРЫ

Технология XSLT

Валиков Алексей Н.

Шрифт:

Функция 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('address@host.com', '(@')
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)

Эта функция аналогична функции

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', '-')
''

Функция substring

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)
''

Функция string-length

number string-length(string?)

Функция

string-length
возвращает число символов строкового аргумента. Если аргумент опущен,
string-length
возвращает длину строкового представления контекстного узла.

Напомним, что длина строки не имеет ничего общего с количеством байт, которое требуется для ее представления. Разные формы кодирования используют разное количество байт для записи символов, внутренние представления строк также могут быть различными, но длина строки в любом случае — это число символов, которые ее составляют.

Примеры

string-length('Barnes and Noble')
16

string-length('Barness#x20;& Noble')
14

Функция normalize-space

string normalize-space(string?)

Функция

normalize-space
производит со своим строковым аргументом так называемую нормализацию пробельного пространства. Это означает, что в строке удаляются ведущие и заключающие пробельные символы, а все последовательности пробелов заменяются одним пробельным символом. Иными словами, функция удаляет "лишние" пробелы в строке.

Поделиться с друзьями: