XQuery

XQuery
Date de première version Voir et modifier les données sur Wikidata
Site web www.w3.org/XML/QueryVoir et modifier les données sur Wikidata

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.

Syntaxes

Il existe deux syntaxes distinctes pour XQuery :

Exemple

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>

Composantes du langage

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 :

Caractéristiques du langage

Modèle de données

Exemples :

Voir aussi

Articles connexes

Implémentations

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.

Liens externes

Sur les autres projets Wikimedia :