{ let $A := doc("..\..\..\examples\sourceA.xml")/sourceA return $A/* union ( let $B := doc("..\..\..\examples\sourceB.xml")/sourceB for $titleB in distinct-values($B//title) let $dirB := $B//movie[title=$titleB]/director return {$titleB} {$dirB[1]} { for $actB in $B/actor where $actB//movie/title = $titleB return {data($actB/name)} } ) }