Решение xquery, которое работает как для UpperCamel, так и для lowerCamel:
Чтобы вывести регистр предложений (только первый символ первого слова пишется с большой буквы):
declare function content:sentenceCase($string)
{
let $firstCharacter := substring($string, 1, 1)
let $remainingCharacters := substring-after($string, $firstCharacter)
return
concat(upper-case($firstCharacter),lower-case(replace($remainingCharacters, '([A-Z])', ' $1')))
};
Чтобы вывести регистр заглавия (первый символ каждого слова пишется с большой буквы):
declare function content:titleCase($string)
{
let $firstCharacter := substring($string, 1, 1)
let $remainingCharacters := substring-after($string, $firstCharacter)
return
concat(upper-case($firstCharacter),replace($remainingCharacters, '([A-Z])', ' $1'))
};