The fm:library-list section is used to include FOX libraries/modules.
CONCEPTS
- Fox processes the fm:library-list to incorporate any other FOX modules specified into the current module.
- The result can be seen in the “ModMerger” DOM available from the developers menu.
The Library In Process
- Fox takes the current module and looks at fm:library-list. All sections from each fm:library are included, so long as they are not already defined in the current module.
- If definitions [e.g. actions, set-buffers etc] are already defined [i.e. same name] in the current module, they are not libraried in, unless they are marked up with stub-overload=”.”, in this case they are called stubs, (not the same as previously mentioned stub data) the content is over-written by the libraried in version.
- Entry themes are not libraried in.
- Any namespace Fox finds in the definitions is inspected to see if it already exists in the current module. If it exists, Fox renames the namespace for the libraried in module to make it unique. There are two exceptions to this rule:
- fox is a namespace and is always global.
- other namespaces can by defined as global, and these are not renamed:
- xmlns:orders="http://www.og.dti.gov/fox_global".
- At the end of the process Fox looks to the next fm:library for more modules to include. The version of the processed module becomes the ‘current module’ and the algorithm is recursive.
Generic Layout Modules
- LAYOUT1 is the most common module libraried in. It contains an extensive set of buffers and actions to provide a generic layout for some Fox applications.
- LAYOUT2 is a simple version of LAYOUT1 that contains no actions. This would be very useful for a decision point module, where no navigations are required, or are user defined.
Application Provider Modules
The PON15 applications have been developed using multiple partial modules. None would run in their own right, but after Fox has completed the library in process, a complete module is created, with multiple states, that represent a whole application.
Example
PON15B Application Provider
ENV110L
Contains:
Library-list
Module level actions (some stubs)
Front presentation screen
PON15B Section A
ENV111X
Contains:
Module level actions (some stub-overloaded)
1 state for Section A
- Containing actions
- Containing presentation for the section XSD for section A
PON15B Section B
ENV112X
Contains:
Module level actions (some stub-overloaded)
1 state for Section B
- Containing actions
- Containing presentation for the section XSD for Section B