Module de gestion XML intégré au Système de gestion de base de données Oracle.
Cette technologie étend les possibilités de la base de données relationnelle d'Oracle en proposant toutes les fonctionnalités d'une base de données XML. Le module Oracle XML DB offre une structure indépendante de stockage et de gestion de données XML. Il propose les fonctionnalités suivantes :
XMLType
Depuis la version 9i d'Oracle, un nouveau type de données appelé XMLType a fait son apparition. Il possède un certain nombre de fonctions permettant de créer, extraire et indexer des données XML stockées dans le SGBD Oracle. En tant que nouveau type de données, XMLType peut être utilisé comme type pour colonnes dans des tables et des vues ainsi que dans des procédures stockées PL/SQL. Avec le type XMLType et ses possibilités, les développeurs disposent de toutes les possibilités d'une base de données relationnelle tout en travaillant avec des données sous format XML.
La création d'une table permettant de stocker des types XML est aussi simple que la création d'une table habituelle dans Oracle, en utilisant la syntaxe standard de SQL :
SQL> create table COMMANDES (comm XMLTYPE);
Cette commande créé une table contenant une colonne comm de type XMLType.
La commande suivante va insérer dans une colonne de type XMLType un document XML :
SQL> insert into COMMANDES (comm) values (sys.XMLTYPE.createXML ('
La fonction createXML() va convertir les balises passées en paramètre en un contenu de type XMLType.
La commande suivante permet d'obtenir le contenu entier d'une table XML :
SQL> select c.comm.getClobVal() from COMMANDES c;
Il est également possible d'obtenir certains nœuds uniquement :
SQL> select c.comm.extract('/commande/ligneCommande').getClobVal() from COMMANDES c where c.comm.extract('commande/ligneCommande/idClient/text()').getStringVal() = '1234124' ;