Chapitre 5 : BD relationnelles et XML
71
nom=’soltane’ prenom=’hamza’ Adresse= ‘Annaba’>
<Commande Ncmde=’014’ date=’10-01-2011’>
<detailscommande Nproduit=’503’ Quantité=’100’/>
</Commande>
</Client>
<Praoduit Nproduit= ‘500’ catégorie=’ZZZT’ prix=’200,00’ />
<Praoduit Nproduit= ‘501’ catégorie=’YYYB’ prix=’100,00’ />
……………………………………………….
</Clients)
Déclaration de la DTD
En général on exporte une base de données pour fournir une « vue » XML à d’autres utilisateurs.
Il faut donc fournir une description de la structure XML.
On suppose que :
Les colonnes sont représentées par des attributs XML;
Le chemin d’accès principal est le Client ;
Pour chaque client on trouve, imbriqués, les commandes d’un client, et dans chaque
commande les détails des produits commandés;
Les produits on sont représentées par des éléments indépendants, avec un lien de
navigation.
Exemple général :
<!ELEMENT Clients (Client*, Produit*)>
<!ELEMENT Client (commande*)>
<!ELEMENT commande (détailscommande*)>
<!ELEMENT détailscommande EMPTY>
<!ELEMENT Produit EMPTY>
<!ATTLIST Client
Nclient ID #REQUIRED
nom #REQUIRED
prenom CDATA #REQUIRED
Adresse CDATA #REQUIRED >
<!ATTLIST commande
Ncdme ID #REQUIRED
date CDATA #REQUIRED >
<!ATTLIST Produit
Nproduit ID #REQUIRED
Catégorie CDATA #REQUIRED
prix CDATA #REQUIRED>
On déclare une référence depuis details-commande vers produit.
<!ATTLIST detailscommande
Nproduit IDREF #REQUIRED
Quantité CDATA #REQUIRED>
3. L’utilitaire XSQL d’ORACLE
Oracle propose un XML Development Kit avec : DOM, SAX, processeur XSLT et nombreux
utilitaires (en java).
XSQL est un SQL mis à la sauce XML. Il permet :
De se connecter à la base