A JSONiq program can either be a main module, which contains a query that can be executed, or a library module, which defines functions and variables that can be used in other modules.
A main or library module can be optionally prefixed with a JSONiq declaration with a version (currently 1.0) and an encoding.
Figure 1. Module