eXist-db (or eXist for short) is an
open source software
Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Op ...
project for
NoSQL
A NoSQL (originally referring to "non- SQL" or "non-relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed ...
databases built on
XML technology. It is classified as both a NoSQL
document-oriented database system and a
native XML database (and it provides support for
XML,
JSON
JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
,
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
and Binary documents). Unlike most
relational database management system
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relati ...
s (RDBMS) and NoSQL databases, eXist-db provides
XQuery and
XSLT
XSLT (Extensible Stylesheet Language Transformations) is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subse ...
as its query and application programming languages.
eXist-db is released under version 2.1 of the
GNU LGPL.
Features
eXist-db allows software developers to persist XML/JSON/Binary documents without writing extensive middleware. eXist-db follows and extends many
W3C XML standards such as
XQuery. eXist-db also supports
REST interfaces for interfacing with
AJAX-type web forms. Applications such as
XForms may save their data by using just a few lines of code. The WebDAV interface to eXist-db allows users to "drag and drop" XML files directly into the eXist-db database. eXist-db automatically indexes documents using a keyword indexing system.
History
eXist-db was created in 2000 by Wolfgang Meier.
eXist-db was awarded the best XML database of the year by
InfoWorld in 2006.
The companies eXist Solutions GmbH in Germany, and Evolved Binary in the UK, promote and provide support for the software.
There is an O'Reilly book for eXist-db which is co-authored by Adam Retter and Erik Siegel.
Supported standards and technologies
eXist-db has support for the following standards and technologies:
*
XPath - XML Path language
*
XQuery - XML Query language
*
XSLT
XSLT (Extensible Stylesheet Language Transformations) is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subse ...
- Extensible Stylesheet Language Transformations
*
XSL-FO - XSL Formatting Objects
*
WebDAV - Web distributed authoring and versioning
*
REST - Representational state transfer (URL encoding)
*
RESTXQ - RESTful annotations for XQuery
*
XInclude XInclude is a generic mechanism for merging XML documents, by writing inclusion tags in the "main" document to automatically include other documents or parts thereof. The resulting document becomes a single composite XML Information Set. The XIncl ...
- server-side include file processing (limited support)
*
XML-RPC
XML-RPC is a remote procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism.Simon St. Laurent, Joe Johnston, Edd Dumbill. (June 2001) ''Programming Web Services with XML-RPC.'' O'Reilly. First Editi ...
- a remote procedure call protocol
*
XProc - a XML Pipeline processing language
*
XQuery API for Java
XQuery API for Java (XQJ) refers to the common Java API for the W3C XQuery 1.0 specification.
The XQJ API enables Java programmers to execute XQuery against an XML data source (e.g. an XML database) while reducing or eliminating vendor lock ...
See also
*
BaseX - another Open Source Native XML Database
*
CouchDB - a document-oriented database based on JSON
References
External links
* {{official website, http://www.exist-db.org
Free database management systems
XML databases
Software using the LGPL license
Database-related software for Linux
Free software programmed in Java (programming language)