eXist : Une base de données XML interrogeable avec XPath et XQuery

11/02/2004

Wolfgang M. Meier annonce la version 1.0 de eXist. eXist est une base de données Open Source native XML, entièrement écrite en Java.

eXist peut non seulement s’intégrer très facilement dans une application Java (via une servlet – XQueryServlet -, un composant CocoonXQueryGenerator – , ou l’utilisation de l’API XML:DB), mais elle peut également être utilisée dans de nombreux autres langages grâce à ses API REST et XML-RPC. Il existe d’ailleurs des API Pyhon et PHP. SOAP est également supporté dans le mode servlet.

Techniquement, eXist utilise plusieurs méthodes d’indexation : un regroupement en collections de documents (similaire à un système de fichiers), une série de DOM persistants, une indexation structurelle (basée sur les relations type parent/enfant…) pour les noeuds d’élément et d’attribut, et une indexation textuelle pour les noeuds texte et les valeurs d’attribut. Les mises à jour (controlées par un mécanisme d’accès multi-utilisateur) peuvent être effectives au niveau du document ou d’un noeud spécifique.

eXist permet de formuler des requêtes via XPath 2.0/XQuery 1.0 (qui ne sont encore que des documents de travail). Elle fournit également des extensions à XPath, comme des fonctions adaptées à la recherche textuelle et aux concepts plus orientés bases de données. Des modules XQuery complémentaires peuvent être écrits soit directement en XQuery soit en Java. Les technologies XML XInclude, XPointer, XUpdate sont également partiellement supportées.

D’après les tests de performance réalisés par Wolfgang Meier, eXist semble largement devancer le projet Xindice (d’apache) et les interrogations classiques formulées en XPath pur, comme avec le composant Jaxen.

eXist est disponible sous licence GPL et téléchargeable depuis SourceForge.net. Encore en développement, toute contribution est la bienvenue…

Autres articles :

Et sur d’autres sites :