Apache Xindice is a database designed from the ground up to store XML data or what is more
commonly referred to as a native XML database. The name is pronounced zeen-dee-chay in your
best faux Italian accent. Don't worry if you get it wrong though, we won't mind. We just
care that you spell it correctly.
You might be wondering what a native XML database is good for? Well it pretty much has one
purpose, storing XML data. If you don't have any XML data, don't want any XML data or
think XML is the most over-hyped technology of the new millennium, then Xindice is not
for you. We're not out to change the way data in general is stored, only to provide a
good solution for storing XML data. If you survey your projects and see XML
popping out of every corner, then Xindice might be a real help for storing that XML.
The benefit of a native solution is that you don't have to worry about mapping your XML
to some other data structure. You just insert the data as XML and retrieve it as XML.
You also gain a lot of flexibility through the semi-structured nature of XML and the
schema independent model used by Xindice. This is especially valuable when you have very
complex XML structures that would be difficult or impossible to map to a more structured
database.
At the present time Xindice uses XPath
for its query language and
XML:DB XUpdate for its update
language. We provide an implementation of the
XML:DB API for Java
development and it is possible to access Xindice from other languages using an
available XML-RPC plugin.
As standards in the XML database area mature Xindice will include support for those
that are most important.
Xindice is the continuation of the project that used to be called the dbXML Core. The
dbXML source code was donated to the Apache Software Foundation in December of 2001.