for $element in collection("total-treetagger.xml")//element for $data in $element/data let $frere:= $element/following-sibling::element[1] let $frere3:=$frere/following-sibling::element[1] let $frere3:=$frere3/following-sibling::element[1] let$ok:=if (($element/data[1]="NOM") and (starts-with($frere/data[1],"PRP")) and ($frere3/data[1]="NOM") and ($frere3/data[1]="PRP") ) then ( concat($element/data[3]/text()," ",$frere/data[3]/text()," ",$frere3/data[3]/text()," ",$frere3/data[3]/text(), " /NOM PREP NOM PREP") ) else if ((starts-with($element/data[1],"VER:")) and (starts-with($frere/data[1],"DET")) and ($frere3/data[1]="NOM")) then ( concat($element/data[3]/text()," ",$frere/data[3]/text()," ",$frere3/data[3]/text(), " /VERBE DET NOM") ) else if (($element/data[1]="NUM") and (starts-with($frere/data[1],"NOM")) and ($frere3/data[1]="ADJ")) then ( concat($element/data[3]/text()," ",$frere/data[3]/text()," ",$frere3/data[3]/text(), " /NUM NOM ADJ") ) else if (($element/data[1]="NOM") and ($frere/data[1]="ADJ") )then ( concat($element/data[3]/text()," ",$frere/data[3]/text(), " /NOM ADJ") ) else if (($element/datdata[1]="ADJ") and ($frere/data[1]="NOM") )then ( concat($element/data[3]/text()," ",$frere/data[3]/text(), " /ADJ NOM") ) else if (($element/data[1]="NOM") and (starts-with($frere/data[1],"VER:")) )then ( concat($element/data[3]/text()," ",$frere/data[3]/text(), " /NOM VERBE") ) else ( "ça matche pas" ) where $ok!= "ça matche pas" group by $doublons:=$ok order by count($ok) descending return string-join((count($ok),$doublons)," ")