module namespace string = "http://www.nxp.com/string"; (: string:capitalize("test") --> "Test" :) declare function string:capitalize($string as xs:string) as xs:string { let $tokens := string:split($string) return concat(upper-case($tokens[1]), string-join(subsequence($tokens, 2), '')) }; (: string:capitalizeAll("makes you wonder") --> "Makes You Wonder" :) declare function string:capitalizeAll($string as xs:string) as xs:string { string-join(for $word in string:splitWords($string) return string:capitalize($word), ' ') }; (: string:split("work") --> ("w", "o", "r", "k") :) declare function string:split($string as xs:string) as xs:string* { for $codepoint in string-to-codepoints($string) return codepoints-to-string($codepoint) }; (: string:splitWords("go live") --> ("go", "live") :) declare function string:splitWords($string as xs:string) as xs:string* { tokenize($string, "\s+") }; (: string:toCamelCase("business segment") --> "businessSegment" :) declare function string:toCamelCase($string as xs:string) as xs:string { let $words := string:splitWords($string) return string-join(($words[1], for $word in subsequence($words, 2) return string:capitalize($word)), '') };
If you're interested in functional programming, you might also want to checkout my second blog which i'm actively working on!!
Monday, August 20, 2012
Some extra useful String functions (XQuery)
Labels:
xquery
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment