Turn a whitespace-delimited string of text into an XQuery-style sequence string
xquery version "3.0";
(: Sometimes you need to turn a list of words into a sequence-style string :)
declare function local:string-to-sequence($string as xs:string) as xs:string {
let $string := normalize-space($string)
let $items := tokenize($string, '\s')
let $quoted := $items ! concat("'", ., "'")
return
concat(
'(',
string-join($quoted, ', '),
')'
)
};
local:string-to-sequence(' frus1948v04 frus1948v06 frus1948v09
frus1949v09
frus1950v04 frus1950v05 frus1950v06 frus1950v07
frus1951v02 frus1951v03p1 frus1951v03p2 frus1951v04p1 frus1951v04p2 frus1951v07p1 frus1951v07p2 ')
(:
will return:
('frus1948v04', 'frus1948v06', 'frus1948v09', 'frus1949v09', 'frus1950v04', 'frus1950v05', 'frus1950v06', 'frus1950v07', 'frus1951v02', 'frus1951v03p1', 'frus1951v03p2', 'frus1951v04p1', 'frus1951v04p2', 'frus1951v07p1', 'frus1951v07p2')
:)