for $i in doc("/Volumes/TOSHIBA/3214_sortie_UDPipe.txt.xml")//baseudpipe/p for $c in $i/item let $govpos:=$c/a[7] let $pos:=$c/position() where $c/a[8]/text()="obj" let $var:= if (number($govpos) < number($pos)) then ( $c/preceding-sibling::item[position()=$govpos]/a[2]/text() ) else ( $c/following-sibling::item[position()=$govpos]/a[2]/text() ) where $var!='.' and $var!=';' and $var!=',' and $var!=':' and $var!=')' and $var!='(' and $var!='%' and $var!='?' and $var!='«' and $var!="»" let $var2:=concat($var,"==>",$c/a[2]) group by $var2 order by count($var2) return concat(count($var2)," ",$var2)