Boite à Outils 3 : XQuery

La requête NOM-ADJ

for $ele in collection("Etiquettes")//element
where $ele[contains(.//data[1],"NOM")] and $ele[following-sibling::*[1][contains(.//data[1],"ADJ")]]
let $nom:=$ele/data[@type="string"]/text()
let $adj:=$ele/following-sibling::*[1]/data[@type="string"]/text()
return (<patron><NOM>{$nom}</NOM><ADJ>{$adj}</ADJ></patron>)
	  

Le résultat


La requête NOM-PREP-NOM

for $ele in collection("Etiquettes")//element
where $ele[contains(.//data[1],"PRP")] 
and $ele[following-sibling::*[1][contains(.//data[1],"NOM")]]
and $ele[preceding-sibling::*[1][contains(.//data[1],"NOM")]]
let $prp:=$ele/data[@type="string"]/text()
let $nom2:=$ele/following-sibling::*[1]/data[@type="string"]/text()
let $nom1:=$ele/preceding-sibling::*[1]/data[@type="string"]/text()
return (<patron><NOM>{$nom1}</NOM><PRP>{$prp}</PRP><NOM>{$nom2}</NOM></patron>)
	  

Le résultat