LET $fp := //company[name = "Foobar Corporation"]/partners/partner : FOR $ni IN //news_item WHERE EXISTS $t IN $ni//title : (contains($t/text(), "Foobar Corporation") AND EXISTS $p IN $fp : contains($t/text(), $p/text()) ) OR EXISTS $par IN $ni//par : (contains($par/text(), "Foobar Corporation") AND EXISTS $p IN $fp : contains($par/text(), $p/text()) ) RETURN $ni/title, $ni/date