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 plugins 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 useable so that even those without Java experience can learn and make use of them. However, some programming experience would undoubtedly assist you.

Warning

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, then if eXist also uses the same library (consult the files in the subfolders of $EXIST_HOME/lib), you must ensure that you use exactly the same version of the library 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 within software engineering ...

Get eXist now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.