Base de Données XML : Création, modification et suppression de données avec BaseX.

Modification de documents XML avec BaseX

Accès aux documents XML dans la base de données

Fonction

Description

collection("db/path/to/docs")

Retourner un ou plusieurs documents trouvés dans le chemin path/to/docs.

Remarque : collection("db") va retourner tous les fichiers dans la base de données

doc("db/path/to/doc.xml")

Retourner le document path/to/doc.xml spécifique.

Erreur si zéro/plusieurs documents trouvés.

AttentionUne différence

doc("myDataBase/myFile.xml") et doc("path/to/myFile.xml")fonctionnent des manières différentes :

  • doc("myDataBase/myFile.xml") : On cherche le document XML stocké dans la base de données sans passer par le file system.

  • doc("path/to/myFile.xml"): On va passer par file system pour créer et retourner un nouveau nœud XML en mémoire.

    ATTENTION : il ne sera pas ajouté dans une base de données automatiquement.

XQuery Update

Appelée XQuery Update Facility, cette extension permet de modifier des documents XML et données.

Il y a 5 opérations possibles :

Opération

Explication

insert node [item] into [location]

Insère un nœud

delete node(s) [location]

Supprime un nœud

replace value of node [location] with [item]

modifier le contenu d'un nœud

replace node [location] with [item]

remplacer un nœud par un autre noeud

rename

renommer un nœud sans toucher à ses attributs

  • [item] est un noeud XML

  • [location] est une expression en XPath

RemarqueMettre à jour des documents XML

Les mises à jour ne sont pas répercutées par défaut dans le fichier XML. Ceci se justifie par le fait qu'il s'agisse d'une base de données en mémoire.

Solutions :

  • Si on accéder le document par la base de données (doc("myDataBase/myFile.xml") ou collection("myDataBase/myFile.xml")) :

    La commande EXPORT [path] ou par GUI : Database → Export

  • Si on accéder le document par file sysetm (doc("path/to/myFile.xml") ou collection("path/to/myFile.xml")) :

    On règle le WRITEBACK à TRUE. Les modifications seraient à jours automatiquement.

    • ATTENTION : dans ce cas là, des modifications ne sont pas visibles dans l'interface graphique, parce que ce document XML n'est pas ajouté dans une base de données, il existe seulement en mémoire.

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Alexandra Duval, Simei YIN, 2015-2016 (Contributions : Stéphane Crozat, les étudiants de l'UTC) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)