1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
declare variable $count as xs:integer := 0;
for $art in collection("BAO2-SORTIE-3476-TREETAGGER.xml")//article

for $elt in $art/element
let $conc2 :=
if (($elt/data[1]/text()="NOM") and ($elt/following-sibling::element[1]/data[1][contains(text(),"PRP")]) and ($elt/following-sibling::element[2]/data[1]/text()="NOM") and ($elt/following-sibling::element[3]/data[1][contains(text(),"PRP")]) and ($elt/following-sibling::element[4]/data[1]/text()="NOM")) then (
concat("NOM-PREP-NOM-PREP-NOM:    ", $elt/data[3]/text()," ",$elt/following-sibling::element[1]/data[3]/text()," ",$elt/following-sibling::element[2]/data[3]/text()," ",$elt/following-sibling::elementem[3]/data[3]/text()," ",$elt/following-sibling::element[4]/data[3]/text())
)
else if (($elt/data[1]/text()="NOM") and ($elt/following-sibling::element[1]/data[1]/text()="ADJ")) then (
concat("NOM-ADJ:    ", $elt/data[3]/text()," ",$elt/following-sibling::element[1]/data[3]/text())
)
else if (($elt/data[1]/text()="ADJ") and ($elt/following-sibling::element[1]/data[1]/text()="NOM")) then (
concat("ADJ-NOM:    ", $elt/data[3]/text()," ",$elt/following-sibling::element[1]/data[3]/text())
)
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]/text()="NOM")) then (
concat("V-DET-NOM:    ", $elt/data[3]/text()," ",$elt/following-sibling::element[1]/data[3]/text()," ",$elt/following-sibling::element[2]/data[3]/text())
)
else (
"
"
)
where $conc2 != "
"
group by $g:= $conc2
order by count($conc2) descending 
return string-join(($g,count($conc2)), "	")