|
53 | 53 | </bookinfo> |
54 | 54 | <chapter> |
55 | 55 | <title>XQuery Extension Modules Documentation</title> |
56 | | - <para>eXist-db provides a pluggable module interface that allows extension modules to be easily |
| 56 | + <section id="module_intro"> |
| 57 | + <para>eXist-db provides a pluggable module interface that allows extension modules to be easily |
57 | 58 | developed in Java. These extension modules can provide additional XQuery functions through a |
58 | 59 | custom namespace. The extension modules have full access to the eXist-db database, its internal API, |
59 | 60 | the context of the executing XQuery and the HTTP Session (if appropriate).</para> |
60 | | - <para>The source code for extension modules should be placed in their own folder inside |
| 61 | + <para>The source code for extension modules should be placed in their own folder inside |
61 | 62 | <filename>$EXIST_HOME/extensions/modules/src/org/exist/xquery/modules</filename>. They may |
62 | 63 | then be compiled in place using either <command>$EXIST_HOME/build.sh |
63 | 64 | extension-modules</command> or <command>%EXIST_HOME%\build.bat extension-modules</command> |
64 | 65 | depending on the platform.</para> |
65 | | - <para>Modules associated to modularized indexes should be placed in the |
| 66 | + <para>Modules associated to modularized indexes should be placed in the |
66 | 67 | <filename>$EXIST_HOME/extensions/indexes/*/xquery/modules/*</filename> hierarchy. They will |
67 | 68 | be compiled automatically by the standard build targets or as indicated above.</para> |
68 | | - <para>eXist-db must also be told which modules to load, this is done in |
| 69 | + <para>eXist-db must also be told which modules to load, this is done in |
69 | 70 | <filename>conf.xml</filename> and the Class name and Namespace for each module is listed |
70 | 71 | below. Note – eXist-db will require a restart to load any new modules added. Once a Module is configured |
71 | 72 | and loaded eXist-db will display the module and its function definitions as part of the <ulink url="{fundocs}">function library</ulink> page or through |
72 | 73 | <command>util:decribe-function()</command>.</para> |
| 74 | + </section> |
73 | 75 | <section id="module_example"> |
74 | 76 | <title>Example Module</title> |
75 | 77 | <para>Demonstrates the simplest example of an Extension module with a single function. A good |
|
0 commit comments