O'Reilly logo

eXist by Adam Retter, Erik Siegel

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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.

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, 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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required