Returns a string created by concatenating the items in a sequence, with a defined separator between adjacent items.
fn:string-join( $arg1 as xs:anyAtomicType*xs:stringfn:string-join( $arg1 as xs:anyAtomicType*,$arg2 as xs:stringxs:stringThe effect of calling the single-argument version of this function is the same as
            calling the two-argument version with $arg2 set to a zero-length
            string.
The function returns an xs:string created by casting each item 
            in the sequence $arg1 to an xs:string, 
            and then concatenating the result strings in order, 
            using the value of $arg2 as a
            separator between adjacent strings. If the value of $arg2 is the zero-length
            string, then the members of $arg1 are concatenated without a separator.
The expression fn:string-join(1 to 9) returns "123456789".
The expression fn:string-join(('Now', 'is', 'the', 'time', '...'),
                  ' ') returns "Now is the time ...".
The expression fn:string-join(('Blow, ', 'blow, ', 'thou ', 'winter ', 'wind!'),
                  '') returns "Blow, blow, thou winter wind!".
The expression fn:string-join((), 'separator') returns "".
The expression fn:string-join(1 to 5, ', ') returns "1, 2, 3, 4, 5".
let $doc := 
The expression $doc//@xml:id ! fn:string-join((node-name(), '="', ., '"')) returns 'xml:id="xyz"'.
The expression $doc//section ! fn:string-join(ancestor-or-self::*/name(), '/') returns "doc/chap/section".
If the value of $arg1 is the empty sequence, the function returns the
            zero-length string.