1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
declare variable $count as xs:integer := 0;
for $article in doc("../../../bao2/SORTIE/planete/sortie-tt-xml_3244.xml")//article

for $element in $article/element
let $conc2 :=
  if (($element/data[1]/text()="NOM") and ($element/following-sibling::element[1]/data[1]/text()="PRP") and ($element/following-sibling::element[2]/data[1]/text()="NOM") and ($element/following-sibling::element[3]/data[1]/text()="PRP")) then (
    concat("NOM-PREP-NOM-PREP : ",$element/data[3]/text()," ",$element/following-sibling::element[1]/data[3]/text()," ",$element/following-sibling::element[2]/data[3]/text()," ",$element/following-sibling::element[3]/data[3]/text())
  )
  else if (($element/data[1]/text()="NOM") and ($element/following-sibling::element[1]/data[1]/text()="ADJ")) then (
       concat("NOM-ADJ : ",$element/data[3]/text()," ",$element/following-sibling::element[1]/data[3]/text())
  )
  else if (($element/data[1]/text()="ADJ") and ($element/following-sibling::element[1]/data[1]/text()="NOM")) then (
       concat("ADJ-NOM : ",$element/data[3]/text()," ",$element/following-sibling::element[1]/data[3]/text())
  )
  else if (($element/data[1]/text()="VER") and ($element/following-sibling::element[1]/data[1]/text()="DET") and ($element/following-sibling::element[2]/data[1]/text()="NOM")) then (
       concat("VERBE-DET-NOM : ",$element/data[3]/text()," ",$element/following-sibling::element[1]/data[3]/text()," ",$element/following-sibling::element[2]/data[3]/text())

  )
  else (
    "
"
  )
where $conc2 != "
"
group by $g:= $conc2
order by count($conc2) descending
return concat(string-join(($g,count($conc2)), "	"),"
")