Chapter 16. Advanced Topics

This chapter introduces some of the more advanced things that can be done with eXist, such as scheduled tasks, triggers, and internal modules. Many, although not all, of the examples in this chapter are developed in Java as plug-ins to eXist. We do not attempt to teach Java in any way in this chapter; rather, where the examples are in Java, we have tried to make them simple, self-explanatory, and easily usable so that even those without Java experience can learn from and make use of them. However, some programming experience will undoubtedly assist you.


If you wish to extend and use additional external libraries for the Java projects in this chapter whose code is deployed into $EXIST_HOME/lib/user, be aware that if eXist also uses the same libraries (consult the files in the subfolders of $EXIST_HOME/lib), you must ensure that you use exactly the same versions of the libraries as provided with eXist. To achieve this, you must set the correct version on the dependency in your pom.xml file, and also set the scope of the dependency to provided. This is required because your Java code will be running in the same JVM as eXist and therefore uses the same class loader; in this manner of operation, it is only possible to have a single version of a specific class.

XQuery Testing

Creating tests to assert the correctness of your code and to prevent regressions in the future can be desirable for many reasons. Over the last decade there has been a serious focus ...

Get eXist now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.