Introduction à XQuery

XQuery est un langage de programmation fonctionnel conçu par le consortium World Wide Web (W3C) pour répondre à des exigences spécifiques en matière d'interrogation et de modification des données XML.

Contrairement aux données relationnelles, qui sont prévisibles et ont une structure régulière, les données XML sont très variables. Les données XML sont souvent imprévisibles, rares et auto-descriptives.

Etant donné que la structure des données XML est imprévisible, les requêtes que vous devez effectuer sur les données XML diffèrent souvent des requêtes relationnelles standard. Le langage XQuery offre la souplesse requise pour effectuer ces types d'opérations. Par exemple, vous devrez peut-être utiliser le langage XQuery pour effectuer les opérations suivantes:

  • Recherchez dans les données XML des objets qui se trouvent à des niveaux inconnus de la hiérarchie.
  • Effectuez des transformations structurelles sur les données (par exemple, vous pouvez inverser une hiérarchie).
  • Renvoie les résultats dont les types sont mixtes.
  • Mettez à jour les données XML existantes.

Composants d'une requête XQuery

Dans XQuery, les expressions sont les principaux blocs de construction d'une requête. Les expressions peuvent être imbriquées et former le corps d'une requête. Une requête peut également avoir un prologue avant ce corps. Le prologue contient une série de déclarations qui définissent l'environnement de traitement de la requête. Le corps de requête est constitué d'une expression qui définit le résultat de la requête. Cette expression peut être composée de plusieurs expressions XQuery qui sont combinées à l'aide d'opérateurs ou de mots clés.

La Figure 1 illustre la structure d'une requête standard. Dans cet exemple, le prologue contient deux déclarations: une déclaration de version, qui spécifie la version de la syntaxe XQuery à utiliser pour traiter la requête, et une déclaration d'espace de nom par défaut qui spécifie l'URI d'espace de nom à utiliser pour les noms d'élément et de type non préfixés. Le corps de requête contient une expression qui construit un élément price_list . Le contenu de l'élément price_list est une liste d'éléments product triés par ordre décroissant de prix.
Figure 1 : Structure d'une requête standard dans XQuery
Exemple de requête consistant en un prologue avec deux déclarations et un corps de requête contenant une expression simple.