for $elt in doc("treetagger-3208.txt.xml")//element let $patron := (:pour le patron NOUN ADP NOUN ADP :) if ( ($elt/data[1][contains(text(),'NOM')]) and ($elt/following-sibling::element[1]/data[1][contains(text(),'PRP')]) and ($elt/following-sibling::element[2]/data[1][contains(text(),'NOM')]) and ($elt/following-sibling::element[3]/data[1][contains(text(),'PRP')])) then ( concat("NOM PREP NOM PREP"," ",$elt/data[3]/text()," ",$elt/following-sibling::element[1]/data[3]/text()," ",$elt/following-sibling::element[2]/data[3]/text()," ",$elt/following-sibling::element[3]/data[3]/text()) ) (:pour le patron VERBE DET NOM :) else if ( ($elt/data[1][contains(text(),'VER')]) and ($elt/following-sibling::element[1]/data[1][contains(text(),'DET')]) and ($elt/following-sibling::element[2]/data[1][contains(text(),'NOM')])) then ( concat("VERBE DET NOM"," ",$elt/data[3]/text()," ",$elt/following-sibling::element[1]/data[3]/text()," ",$elt/following-sibling::element[2]/data[3]/text()) ) (:pour le patron NOM ADJ :) else if ( ($elt/data[1][contains(text(),'NOM')]) and ($elt/following-sibling::element[1]/data[1][contains(text(),'ADJ')])) then ( concat("NOM ADJ"," ",$elt/data[3]/text()," ",$elt/following-sibling::element[1]/data[3]/text()) ) (:pour le patron ADJ NOM :) else if ( ($elt/data[1][contains(text(),'ADJ')]) and ($elt/following-sibling::element[1]/data[1][contains(text(),'NOM')])) then ( concat("ADJ NOM"," ",$elt/data[3]/text()," ",$elt/following-sibling::element[1]/data[3]/text()) ) (:pour le patron VERBE PREP NOM :) else if ( ($elt/data[1][contains(text(),'VER')]) and ($elt/following-sibling::element[1]/data[1][contains(text(),'PRP')]) and ($elt/following-sibling::element[2]/data[1][contains(text(),'NOM')])) then ( concat("VERBE PREP NOM"," ",$elt/data[3]/text()," ",$elt/following-sibling::element[1]/data[3]/text()," ",$elt/following-sibling::element[2]/data[3]/text()) ) (:pour le patron NOM VERBE ADV :) else if ( ($elt/data[1][contains(text(),'NOM')]) and ($elt/following-sibling::element[1]/data[1][contains(text(),'VER')]) and ($elt/following-sibling::element[2]/data[1][contains(text(),'ADV')])) then ( concat("NOM VERB ADV"," ",$elt/data[3]/text()," ",$elt/following-sibling::element[1]/data[3]/text()," ",$elt/following-sibling::element[2]/data[3]/text()) ) else ( " " ) where $patron != " " order by $patron return string-join(($patron), " ")