EXist and xquery

From reBiND Documentation
Jump to: navigation, search

eXist

After an extensive evaluation of the available XML storage solutions eXist was selected as the storage solution for the reBiND project.

Further information about eXist-db and how it benefits the reBiND Project can be found in the article Choosing eXist-db as the XML database for the reBiND project.

The Jetty Web Server is included in the distribution of eXist. It already offers a simple web interface to access the data, an admin backend to manage the files and other tools which are useful for the reBiND Framework.

When looking at the files stored in eXist an hierarchical structure can be seen, comparable to a regular file system. Within eXist Collections are the equivalent to folders in the file system. The root collection is /db/ but usually this can be omitted, so /db/my_collection/data.xml is equivalent to /my_collection/data.xml. XML files stored in eXist are usually called Documents, since the more generic term Files also includes non-XML files, such as text files, images or binary files, which can also be uploaded into eXist. The only file type that cannot be uploaded are non-well-formed XML files.

XQuery

The web application for the reBiND data portal was coded using a combination of XQuery, XSLT, XForms, HTML and Javascript.

eXist-db provides a complete platform for the development of rich web applications based on XML technologies. Detailed documentation on creating web application using eXist and XQuery is available on the eXist web-site. Generating web pages directly in XQuery is possible, however XQuery is mainly used to query and update the data stored within the eXist XML database. A combination of XSLT, HTML and Javascript is used to present the information to the user and make the web application interactive. The source code for the web application is available from our subversion repository and details on how to install and configure the reBiND data portal are available here.

The library of XQuery functions supported by eXist can be searched here.