for $_outer in collection("/db/Properties")//Document where ($_outer//Document/Data/child::*[local-name()='ServiceClass']/text() = 'ContentManagement' and exists($_outer/Data/child::*[local-name()='Plugin']/name)) return { for $plugin in $_outer/Data/child::*[local-name()='Plugin'] return { for $elem in $plugin/parameters/child::* return {$plugin/name} {$plugin/description} {namespace-uri($elem)} {local-name($elem)} { for $p in $elem/child::* return {$p/name()} {$p/text()} } } }