Xindice is a database designed from the scratch for storing XML data and is most commonly known as Native XML Database (NXD). The name is pronounced as “zeen-dee-chay”. Native XML Database means that the XML data is stored in true native form (i.e. text). Native XML Databases are good for storing XML data.
XML documents contain tree structures. Relational databases organize their data in a tabular, or grid-like fashion, and use relational linking in order to expose hierarchical constraints on the data. Mapping XML data or documents into relational documents can be very complex and lossy.
The main benefit of using NXDs is that we don’t have to worry about mapping XML data to some other data structure; instead we store the data as XML and retrieve the data as XML, i.e. we store XML documents and we retrieve the XML documents. NXDs store entire document as a unit and will create a model that is closely similar to the XML. This model includes arbitrary levels of nesting and complexity, as well as complete support for mixed content and semi-structured data. The NXDs also create indexes, enabling rapid searching of the database for documents containing specific information.
Xindice supports XPath and XUpdate to query and update the collections of documents. Also note that Xindice works with JDK 1.3 or above and will not support under JDK 1.3. Also Xindice is not designed for monster XML documents (ex: size of 5 MB) instead it is designed for collections of small to medium sized documents.
Click
here for the article.