etude xupdate

6
Etude et imp ENSAO ETUDE X Equipe de travail : Allal ImanE Atmani Amal Benabdallah Mohammed Chouki Siham Dahmani Afaf Koulali Sara plémentation de XUpdate | Moha XUPDATE d 18/01/2010 ammed

Upload: benabdallah-

Post on 15-Jun-2015

261 views

Category:

Documents


1 download

DESCRIPTION

Dans ce rapport nous allons présenter XUpdate tel que les modifications sont présenté sous format XML, nous allons tester les exemples en java en utilisant la librairie JAXUP.

TRANSCRIPT

Page 1: Etude XUpdate

Etude et implémentation de XUpdate

ENSAO ETUDE XU

Equipe de travail :

Allal ImanE

Atmani Amal

Benabdallah Mohammed

Chouki Siham

Dahmani Afaf

Koulali Sara

Etude et implémentation de XUpdate | Mohammed

XUPDATE

Benabdallah Mohammed

18/01/2010

Mohammed

Page 2: Etude XUpdate

Benabdallah Mohammed, www.benabdallah.sitemaroc.com Page 2

Table des matières 1) Introduction ..................................................................................................................................................... 3

Objectifs ................................................................................................................................................................... 3

Rappel : XUpdate ................................................................................................................................................. 3

Ordres de mise-à-jour ...................................................................................................................................... 3

Exemple ............................................................................................................................................................... 3

2) XUpdate en Java : JAXUP ................................................................................................................................ 5

a) Syntaxe ............................................................................................................................................................ 5

b) Exemple ........................................................................................................................................................... 5

3) Conclusion ....................................................................................................................................................... 6

4) Démo : ............................................................................................................................................................. 6

Page 3: Etude XUpdate

Benabdallah Mohammed, www.benabdallah.sitemaroc.com Page 3

Etude XUpdate

1) Introduction

XUpdate est un léger XML langage déclarative pour modifier des données XML. Développé par une petite

équipe de XML : DB, le développement de la norme faibli vers la fin de 2000, mais il n'a jamais trouvé une

adoption généralisée. Toutefois, il a trouvé des utilisateurs ne se contentent pas d'attendre l'extension de

XQuery Update Facility de la norme W3C.

Objectifs Dans ce rapport nous allons présenter XUpdate tel que les modifications sont présenté sous format XML,

nous allons tester les exemples en java en utilisant la librairie JAXUP.

Rappel : XUpdate

On rappel que XUpdate est un fichier XML, dont on spécifie les règles de modification d’un autre

fichier XML, on appellera le premier document de modification et le deuxième document source, l’application

de la modification du le document source modifie le document source.

Ordres de mise-à-jour

Un programme de mise-à-jour est un élément de type modifications qui contiennent une séquence

d’ordres de mise-à-jour.

Chaque ordre de mise-à-jour a un attribut select qui permet de choisir des nœuds contextes pour les

mises-à-jour.

• insert-before, insert-after

• append, update, remove, rename

• variable

• value-of

• if

Exemple

N.B : Dans tous les exemples de ce document nous nous basons sur le document XML décrit dans l’exercice 1

du devoir surveillé du module de Programmation répartis 5ème année GI 2009-2010.

Page 4: Etude XUpdate

Benabdallah Mohammed, www.benabdallah.sitemaroc.com Page 4

Document source :

<?xml version ="1.0" ?> <annuaire xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation ="Source.xsd" > <personne id ="0" > <nom>Benabdallah </ nom> <prenom >Mohammed</ prenom > <addresse >Rue Alhamrae N°7 (près du hanout) </ addresse > </ personne > <personne id ="1" > <nom>Atmani </ nom> <prenom >Amal</ prenom > <addresse >mjihat Rond poind dial jami3a </ addresse > </ personne > </ annuaire >

Document de modification :

<?xml version ="1.0" encoding ="ISO-8859-1" ?> <xupdate:modifications xmlns:xupdate ="http://www.xmldb.org/xupdate" > <xupdate:update select ="/annuaire/personne[@id='0']/addresse" > Je suis plus en face du Hanout </ xupdate:update > </ xupdate:modifications >

Document après application de la modification :

<?xml version ="1.0" encoding ="UTF-8" ?> <annuaire xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation ="Source.xsd" > <personne id ="0" > <nom>Benabdallah </ nom> <prenom >Mohammed</ prenom > <addresse >Je suis plus en face du Hanout </ addresse > </ personne > <personne id ="1" > <nom>Atmani </ nom> <prenom >Amal</ prenom > <addresse >mjihat Rond poind dial jami3a </ addresse > </ personne > </ annuaire >

Page 5: Etude XUpdate

Benabdallah Mohammed, www.benabdallah.sitemaroc.com Page 5

2) XUpdate en Java : JAXUP

Le bute étant de créer un programme qui génère un document XML à partir de l’application d’un

document de modification sur un document source. Pour cela on utilise la libraire JAXUP.

JAXUP est un moteur de mise à jour XML écrit en Java pour travailler avec une variété de modèles XML ,

tels que les DOM, dom4j et JDOM. Il respect la norme XUpdate et soutiendra d'autres normes XML mise à jour

à mesure qu'ils deviennent disponibles.

Le dernière version de JAXUP est la 1.0.1 et date du 6 aout 2003

a) Syntaxe

JAXUP peut être utilisé indifféremment avec DOM, SAX, JDOM ou autre, l’architecture de notre

programme sera la suivante :

// Construire un Objet doc avec SAX, DOM ou JDOM qui représentre le document //source XML

// Construire un Objet updateDoc avec SAX, DOM ou JDO M qui représentre la //modification XML

//Appel de la methode runUpdate de la classe XUpdate

XUpdate updater = new XUpdate( new JDOMDocumentUpdater(), DocumentNavigator. getInstance ()); updater. runUpdate(doc, updateDoc.getRootElement());

b) Exemple

Ci-joint de ce document un projet Java répondant aux questions de l’exercice 2 du devoir devoir surveillé

du module de Programmation répartis 5ème année GI 2009-2010.

Page 6: Etude XUpdate

Benabdallah Mohammed, www.benabdallah.sitemaroc.com Page 6

3) Conclusion

Très peu de documentation sur JAXUP, ou autre librairie implémentant XUpdate, le site de XML :DB

contient beaucoup de liens morts, leur nom de domaine référencé par Google et de nombreux site est en

vente, et leurs projets sont hébergé désormais sur la plateforme SourceForge.

Je pense que bien que XUpdate a fait du bruit lors de sa création par une petite équipe, et bien

qu’il soit avantageux par rapport à XQuery Update du faite qu’il est un document XML, le manque de mise

à jour, de documentation et de communauté traite son existence.

4) Démo : La démonstration de JAXUP, une implémentation de XUpdate en Java se compose en deux projets java :

• Un projet « jaxup », qui contient les librairies et les classes nécessaires,

• Notre projet DemoXUpdate qui va dépendre du projet « jaxup »

Nous travaillons avec Eclipse 3.4 et JDK 1.6, les sources peuvent être téléchargeables sur ce lien .