Функции строковых значений
В XPath определены следующие основные функции для строковых значений:
· fn:string-length($arg as xs:string?) as xs:integer – возвращает количество символов в строке;
· fn:concat($arg1 as xs:anyAtomicType?, $arg2 as xs:anyAtomicType?, ... ) as xs:string – возвращает строку-конкатенацию всех строк, заданных в качестве аргументов;
· fn:string-join($arg1 as xs:string*, $arg2 as xs:string) as xs:string – возвращает строку-конкатенацию всех строк, причем в качестве разделителя между аргументами в строке используется строка, заданная в $arg2;
· fn:substring($sourceString as xs:string?, $startingLoc as xs:double, $length as xs:double) as xs:string – возвращает подстроку строки $sourceString, начиная с индекса $startingLoc длиной $length (если третий аргумент не задан, возвращается подстрока до конца строки). Нумерация индексов в строке начинается с 1;
· fn:normalize-space($arg as xs:string?) as xs:string – возвращает нормализованную строку, т.е. строку, в которой удалены все начальные и конечные пробелы, а все пробелы, количество которых внутри строки больше одного, сокращены до одного пробела;
· fn:upper-case($arg as xs:string?) as xs:string – возвращает строку, в которой все строчные буквенные символы заменены заглавными буквами;
· fn:lower-case($arg as xs:string?) as xs:string – возвращает строку, в которой все заглавные буквенные символы заменены строчными буквами;
· fn:translate($arg as xs:string?, $mapString as xs:string, $transString as xs:string) as xs:string – заменяет в строке $arg все вхождения символа в i-ой позиции в $mapString символом в i-ой позиции в $transString.
Примеры использования функций для строковых значений:
1. fn:string-length("abc") – возвращает число 3.
2. fn:concat("The"," ", "XML") – возвращает строку "The XML".
3. fn:string-join("ab","cd","e",":") – возвращает строку "ab:cd:e".
4. fn:substring("abcdef",3,2) – возвращает строку "cd".
5. fn:substring("abcdef",3) – возвращает строку "cdef".
6. fn:normalize-space(" ab cd ef ") – возвращает строку
"ab cd ef").
7. fn:upper-case("ABc") – возвращает строку "ABC".
8. fn:lower-case("ABc") – возвращает строку "abc".
9. fn:translate("ABc","Ac","aC") – возвращает строку "aBC".
Дата добавления: 2015-03-19; просмотров: 630;