for $n in //element/data[@type='type'] let $textn := $n/following-sibling::data[@type='string']/text() let $a := $n/parent::element/following-sibling::element[1]/data[@type='type'] return if($n/text()='NOM' and $a/text()='ADJ') then string-join(($n/following-sibling::data[@type='string']/text(), $a/following-sibling::data[@type='string']/text()), ' ') else () for $n in //element/data[@type='type'] let $textn := $n/following-sibling::data[@type='string']/text() let $a := $n/parent::element/following-sibling::element[1]/data[@type='type'] let $texta := $a/following-sibling::data[@type='string']/text() let $b := $a/parent::element/following-sibling::element[1]/data[@type='type'] let $textb := $b/following-sibling::data[@type='string']/text() let $c := $b/parent::element/following-sibling::element[1]/data[@type='type'] let $textc := $c/following-sibling::data[@type='string']/text() return if($n/text()='ADJ' and $a/text()='NOM' and $b/text()='PRP' and $c/text()='NOM') then string-join(($textn, $texta, $textb, $textc), ' ') else ()