Vous êtes sur la page 1sur 16

Programmation Web Avancée

Xquery & RelaxNg

Par: Oumaima Rbia , Amal Kammam Prof :O.Boutkhoum


Fatima Ezzahra Naim , Doha Ziyat
Faculté des Sciences – El Jadida SMI S6, 2022/2023
XQUERY
Introduction

XQuery est un langage de requête qui a été développé par le W3C


(World Wide Web Consortium) C'est un langage qui permet de
extraire, manipuler et transformer des données à partir de documents
XML de manière efficace et précise.

Prog. web Avancée – SMI S6 / F.S El Jadida 2


XQUERY
Les bases de Xquery
• Les commentaires:
nous pouvons écrire des commentaires dans Xquery en utilisant la
syntaxe suivante:
(: Ceci est un commentaire:)

• Les variables:
Pour déclarer une variable en Xquery, on utilise l’expression « let »
suivi du nom de la variable et sa valeur:
let $a := 10
let $nom := ‟ali ” (: équivalent à let $nom := ‘ali’ :)

Prog. web Avancée – SMI S6 / F.S El Jadida 3


XQUERY
• Les expressions:
Les expressions du chemin:
Elles sont basées sur la syntaxe de XPATH pour décrire des chemins
dans un document XML.
Les expressions FLWR:
Clause For: est utilisée pour créer une ou plusieurs variables qui seront
utilisées dans l’expression. Elle définit une variable qui prend
successivement la valeur de chaque élément correspondant à la
séquence spécifiée.
Clause Let: il permet de créer des variables et d’assigner à ce derniers
des valeurs.
Clause Where: est une condition de sélection.
Prog. web Avancée – SMI S6 / F.S El Jadida 4
XQUERY
Clause Return: permet de retourner des expressions.
Exemple: for $fruit in //fruits/fruit
where $fruit/couleur = ‘rouge’
return $fruit
Les expressions conditionnelles:
Expression «if-then-else »:
Syntaxe: if (condition) then
expression1
else
expression2

Prog. web Avancée – SMI S6 / F.S El Jadida 5


XQUERY

Expression « switch-case »:
Syntaxe: switch (expression)
case condition1 return expression1
case condition2 return expression2

default return expressionN

Prog. web Avancée – SMI S6 / F.S El Jadida 6


XQUERY
• Les fonctions:
Fonction doc(): est généralement utilisée pour charger un document XML externe
dans une requête Xquery.
Syntaxe: doc(uri)
où ‘uri’ est l’URI du document XML à charger.
Fonction data(): est utilisée pour extraire la valeur de tous les nœuds texte enfants
d’un élément donné.
Exemple: let $title := data($book/title)
 La variable $title contiendra donc une chaîne de caractères correspondant à la
valeur du nœud texte enfant de l’élément « title ».
Les fonctions pour les nombres:
 Fonction ‘abs’: cette fonction retourne la valeur absolue d’un nombre. Par
exemple ‘abs(-10) retourne 10.

Prog. web Avancée – SMI S6 / F.S El Jadida 7


XQUERY

 Fonction ’min’: cette fonction retourne le plus petit nombre


dans une séquence. Par exemple, ‟min(1,2,3,4,5)” retourne 1.
 Fonction ‘max’: cette fonction retourne le plus grand nombre
dans une séquence. Par exemple , ‟min(1,2,3,4,5)” retourne 5.
 Fonction ‘sum’: cette fonction calcule la somme de tous les
nombres dans une séquence. Par exemple ‟sum(1,2,3,4,5)”
retourne 15.
 Fonction ‘sqrt’: cette fonction calcule la racine carrée d’un
nombre. Par exemple, ‟sqrt(16)” retourne 4.
 Fonction count(): est utilisée pour compter le nombre d’élément
dans une séquence.

Prog. web Avancée – SMI S6 / F.S El Jadida 8


XQUERY
Les fonctions pour les chaînes du caractères:
 fn:string-length(): cette fonction retourne la longueur d’une chaîne
de caractère.
Exemple: let $prénom := ‟Marie”
return fn:string-length($prénom) // 5
 fn:concat(): cette fonction permet de concaténer plusieurs chaînes
de caractères en une seule chaîne.
Exemple: let $prénom := ‟Marie”
let $nom := ‟Dupont”
return fn:concat($prénom, ‟ ”, $nom) //‟Marie Dupont”

Prog. web Avancée – SMI S6 / F.S El Jadida 9


XQUERY

 fn:substring(): cette fonction permet de sélectionner une sous-


chaîne de caractères à partir d’une chaîne plus grande en spécifiant la
position de début et la longueur de la sous-chaîne
Exemple: let $prénom := ‟Marie”
return fn:substring($prénom, 2, 3) // ‟ari”
Les fonctions pour les dates:
 xs:date(): converti une chaîne de caractères en date.
Exemple: let $date := ‟2022-09-15”
return xs:date($date) // 2022-09-15

Prog. web Avancée – SMI S6 / F.S El Jadida 10


XQUERY

 xs:dateTime(): converti une chaîne de caractères en date et heure.


Exemple: let $dateTime := ‟2022-09-15T14:30:00”
return xs:dateTime($dateTime) // 2022-09-15T14:30:00

Prog. web Avancée – SMI S6 / F.S El Jadida 11


XQUERY

Exemple1: Nous allons utiliser le document Bibliothèque.xml


XML ‟bibliothèque.xml” dans les exemples ci-
dessous:
1.Afficher les listes des livres de la bibliothèque.

2.Afficher les informations de livre qui possède


id=1.

Prog. web Avancée – SMI S6 / F.S El Jadida 12


XQUERY

Bibliothèque.xml

3.Afficher les titres des livres ayons un prix


supérieur à 100.

Prog. web Avancée – SMI S6 / F.S El Jadida 13


XQUERY

Bibliothéque.xml
4. Afficher le prix total des livres de la
bibliothèque.

Prog. web Avancée – SMI S6 / F.S El Jadida 14


XQUERY

Exemple2: Afficher une table à partir


d’un document XML dans Xquery. etudiants.xml

Résultats à afficher:

Prog. web Avancée – SMI S6 / F.S El Jadida 15


XQUERY

Correction:

Le fichier Xquery exemple.xquery proposée:

Prog. web Avancée – SMI S6 / F.S El Jadida 16

Vous aimerez peut-être aussi