| XQuery | |
| Date de première version | |
|---|---|
| Site web | www.w3.org/XML/Query |
| modifier |
|
XQuery est un langage de requête informatique permettant non seulement d'extraire des informations d'un document XML, ou d'une collection de documents XML, mais également d'effectuer des calculs complexes à partir des informations extraites et de reconstruire de nouveaux documents ou fragments XML.
XQuery est une spécification du W3C dont la version 1.0 finale date de , et dont l'élaboration a demandé près de huit années. XQuery a été développé conjointement avec XSLT 2, une révision majeure du langage de transformation XML XSLT, avec lequel il partage le sous-ensemble XPath 2.0 (en).
XQuery joue par rapport aux données XML un rôle similaire à celui du langage SQL vis-à-vis des données relationnelles, et l'on peut trouver des analogies entre ces deux langages.
Il existe deux syntaxes distinctes pour XQuery :
Soit le document XML suivant, situé à l'URL http://www.example.com/ et nommé exemple.xml :
<employes>
<employe>
<nom>Durant</nom>
<prenom>Albert</prenom>
<date_naissance>23/09/1958</date_naissance>
</employe>
<employe>
<nom>Dupont</nom>
<prenom>Alphonse</prenom>
<date_naissance>23/12/1975</date_naissance>
</employe>
<employe>
<nom>Dupont</nom>
<prenom>Isabelle</prenom>
<date_naissance>12/03/1967</date_naissance>
</employe>
...
</employes>
La requête FLWOR suivante :
for $b in document ("http://example.com/exemple.xml")//employe
where $b/nom = "Dupont"
return
<dupont>{
$b/prenom,
$b/date_naissance
}</dupont>
va renvoyer le résultat suivant :
<dupont>
<prenom>Alphonse</prenom>
<date_naissance>23/12/1975</date_naissance>
</dupont>
<dupont>
<prenom>Isabelle</prenom>
<date_naissance>12/03/1967</date_naissance>
</dupont>
XQuery est un langage spécifié de façon modulaire : le cœur du langage peut être augmenté par des modules optionnels.
Modules optionnels :
Extensions :
insert node, delete node, rename node, replace node, replace value, copy/modify.while, exit) garantissant l'ordre d'exécution.Exemples :
Le portail XQuery du W3C liste une cinquantaine d'implémentations de XQuery, open-source ou commerciales, ou de produits ou projets de recherche basés sur XQuery.
Les bases de données XML natives supportant XQuery sont (en 2009) au nombre d'une quinzaine, dont environ le tiers sont open-source.