eXist

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
eXist-db
Original authorWolfgang Meier
DevelopersPierrick Brihayne, Leif-Jöran Olsson, Adam Retter,[1] Dmitriy Shabanov, and Dannes Wessels.
Initial release2000 (2000)
Stable release
6.3.0 / October 26, 2024; 19 months ago (2024-10-26)
Repositorygithub.com/exist-db/exist/
Written inJava
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemLinux, Mac, Windows
    PlatformJava
    StandardsXML, XQuery, XSLT, XPath, XUpdate, XQJ, DTD, XML Schema, RelaxNG
    TypeNoSQL DBMS
    LicenseGNU LGPL v2.1.
    Websitewww.exist-db.org

    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.

    Features

    [edit | edit source]

    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]

    History

    [edit | edit source]

    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

    Supported standards and technologies

    [edit | edit source]

    eXist-db has support for the following standards and technologies:

    • XPath - XML Path language
    • XQuery - XML Query language
    • XSLT - 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 - server-side include file processing (limited support)
    • XML-RPC - a remote procedure call protocol
    • XProc - a XML Pipeline processing language
    • XQuery API for Java[11]

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    • BaseX - another Open Source Native XML Database
    • CouchDB - a document-oriented database based on JSON

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]