A major contributor to this article appears to have a close connection with its subject.(February 2019) |
Original author(s) | Wolfgang Meier |
---|---|
Developer(s) | Pierrick Brihayne, Leif-Jöran Olsson, Adam Retter, [1] Dmitriy Shabanov, and Dannes Wessels. |
Initial release | 2000 |
Stable release | 6.3.0 / October 26, 2024 |
Repository | github |
Written in | Java |
Operating system | Linux, Mac, Windows |
Platform | Java |
Standard(s) | XML, XQuery, XSLT, XPath, XUpdate, XQJ, DTD, XML Schema, RelaxNG |
Type | NoSQL DBMS |
License | GNU LGPL v2.1. |
Website | www |
eXist-db (or eXist for short) is an open source software project for NoSQL 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, HTML and Binary documents). Unlike most relational database management systems (RDBMS) and NoSQL databases, eXist-db provides XQuery and XSLT as its query and application programming languages.
eXist-db is released under version 2.1 of the GNU LGPL.
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.[ citation needed ]
eXist-db was created in 2000 by Wolfgang Meier.
eXist-db was awarded the best XML database of the year by InfoWorld in 2006. [2]
The companies eXist Solutions GmbH in Germany, and Evolved Binary in the UK, promote and provide support for the software. [3] [4]
There is an O'Reilly book for eXist-db which is co-authored by Adam Retter and Erik Siegel. [5]
Version | Release date | Changes |
---|---|---|
6.0.0 | January 27, 2022 | Fixes for Log4Shell vulnerability and breaking changes to bundled Apache XML-RPC libraries to resolve security issues. [6] |
5.0.0 | September 2, 2019 | More than 1,400 commits including improvements to document and collection locking, migration of build system from Apache Ant to Apache Maven, support removed for running eXist-db in Apache Tomcat. [7] |
4.0.0 | February 14, 2018 | New UserManager application, Cache Extension Module rewritten to use more performant Caffeine Java library, improvements to language search support, backward compatible with v3. [8] |
3.0.0 | February 9, 2017 | Almost 1,500 changes including support for XQuery v3.1, and updated version of Jetty with HTTP/2 support. Java 8 is now a requirement. [9] |
2.0.0 | February 2013 | Not backward compatible with v1. Changes to permission system to more closely follow UNIX permission model, web applications are stored in database rather than in webapp directory. [10] |
1.0.0 | October 2006 | |
eXist-db has support for the following standards and technologies:
An object database or object-oriented database is a database management system in which information is represented in the form of objects as used in object-oriented programming. Object databases are different from relational databases which are table-oriented. A third type, object–relational databases, is a hybrid of both approaches. Object databases have been considered since the early 1980s.
In computing, the term Extensible Stylesheet Language (XSL) is used to refer to a family of languages used to transform and render XML documents.
XSLT 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 subsequently be converted to other formats, such as PDF, PostScript and PNG. Support for JSON and plain-text transformation was added in later updates to the XSLT 1.0 specification.
In computing, the Java API for XML Processing (JAXP), one of the Java XML application programming interfaces (APIs), provides the capability of validating and parsing XML documents. It has three basic parsing interfaces:
A query language, also known as data query language or database query language (DQL), is a computer language used to make queries in databases and information systems. In database systems, query languages rely on strict theory to retrieve information. A well known example is the Structured Query Language (SQL).
Saxon is an XSLT and XQuery processor created by Michael Kay and now developed and maintained by the company he founded, Saxonica. There are open-source and also closed-source commercial versions. Versions exist for Java, JavaScript and .NET.
An XML database is a data persistence software system that allows data to be specified, and sometimes stored, in XML format. This 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.
XMLSpy is a proprietary XML editor and integrated development environment (IDE) developed by Altova. XMLSpy allows developers to create XML-based and Web services applications using technologies such as XML, JSON, XBRL, XML Schema, XSLT, XPath, XQuery, WSDL and SOAP.
The identity transform is a data transformation that copies the source data into the destination data without change.
Michael Howard Kay Ph.D FBCS is the editor of the W3C XSLT 2.0 and 3.0 language specifications for performing XML transformations, and the developer of the Saxon XSLT and XQuery processing software.
The Oxygen XML Editor is a multi-platform XML editor, XSLT/XQuery debugger and profiler with Unicode support. It is a Java application so it can run in Windows, Mac OS X, and Linux. It also has a version that can run as an Eclipse plugin.
XQuery Update Facility is an extension to the XML Query language, XQuery. It provides expressions that can be used to make changes to instances of the XQuery 1.0 and XPath 2.0 Data Model.
Apache CouchDB is an open-source document-oriented NoSQL database, implemented in Erlang.
XPath is an expression language designed to support the query or transformation of XML documents. It was defined by the World Wide Web Consortium (W3C) in 1999, and can be used to compute values from the content of an XML document. Support for XPath exists in applications that support XML, such as web browsers, and many programming languages.
In software development XRX is a web application architecture based on XForms, REST and XQuery. XRX applications store data on both the web client and on the web server in XML format and do not require a translation between data formats. XRX is considered a simple and elegant application architecture due to the minimal number of translations needed to transport data between client and server systems. The XRX architecture is also tightly coupled to W3C standards to ensure XRX applications will be robust in the future. Because XRX applications leverage modern declarative languages on the client and functional languages on the server they are designed to empower non-developers who are not familiar with traditional imperative languages such as JavaScript, Java or .Net.
XQuery is a query and functional programming language that queries and transforms collections of structured and unstructured data, usually in the form of XML, text and with vendor-specific extensions for other data formats. The language is developed by the XML Query working group of the W3C. The work is closely coordinated with the development of XSLT by the XSL Working Group; the two groups share responsibility for XPath, which is a subset of XQuery.
XQuery API for Java (XQJ) refers to the common Java API for the W3C XQuery 1.0 specification.
BaseX is a native and light-weight XML database management system and XQuery processor, developed as a community project on GitHub. It is specialized in storing, querying, and visualizing large XML documents and collections. BaseX is platform-independent and distributed under the BSD-3-Clause license.
Zorba is an open source query processor written in C++, implementing
Stylus Studio is an integrated development environment (IDE) for the Extensible Markup Language (XML). It consists of a variety of tools and visual designers to edit and transform XML documents and legacy data such as electronic data interchange (EDI), comma-separated values (CSV) and relational data.