XML database
An XML database is a data persistence software system that allows data to be specified, and sometimes stored, in XML format. These data can be queried, transformed, exported and returned to a calling system. XML databases are a flavor of document-oriented databases which are in turn a category of NoSQL database (meaning Not (only) SQL).
Rationale for XML in databases
There are a number of reasons to directly specify data in XML or other document formats such as JSON. For XML in particular, they include:
An enterprise may have a lot of XML in an existing standard format
Data may need to be exposed or ingested as XML, so using another format such as relational forces double-modeling of the data
XML is very well suited to sparse data, deeply nested data and mixed content (such as text with embedded markup tags)
XML is human readable whereas relational tables require expertise to access
Metadata is often available as XML
Semantic web data is available as RDF/XML
Steve O'Connell gives one reason for the use of XML in databases: the increasingly common use of XML for data transport, which has meant that "data is extracted from databases and put into XML documents and vice-versa". It may prove more efficient (in terms of conversion costs) and easier to store the data in XML format. In content-based applications, the ability of the native XML database also minimizes the need for extraction or entry of metadata to support searching and navigation.