for $outer in collection("/db/Properties")//Document let $scopes := string-join( $outer//Document/Data/child::*[local-name()='Scope']/text(), ';') where $outer//Document/Data/child::*[local-name()='ServiceClass']/text() eq '' return {$outer//Document/ID} {$outer//Document/Source} {$outer//Document/SourceKey} {$outer//Document/Data/child::*[local-name()='ServiceClass']/text()} {$outer//Document/Data/child::*[local-name()='ServiceName']/text()} {$outer//Document/Data/child::*[local-name()='ServiceClass']/text()} {$outer//Document/TerminationTimeHuman} {$outer//Document/LastUpdateHuman} {$outer//Document/Data/child::*[local-name()='RI']/text()} WSResource {$scopes}