General structure

The general structure of the Xsl-transformation consists of:
- Parameters and variables, set of well-defined global parameters and variables that can be used as part of the customization.
- Support library, a set of well-defined named templates that can be used as part of the customization. These templates cannot be overridden.
- A navigation layer, a set of well-defined templates that operate on the XForms. These templates will shield the customizable parts of the Xslt from the details of the XForms format. The templates in the navigation layer will not produce any output and cannot be overridden.
- A customization layer, a set of well-defined templates that are called from the navigation layer and have the responsibility to produce an isolated chunk of output. For this purpose, they can use any functionality defined in the other layers. These templates can be overridden.
- Defaults, a default implementation for each template from the Customization layer. These defaults are called by the templates in the Customization layer, but can also be called from overrides of these templates. Currently, only one set of defaults exists, producing the classic table-oriented ITP/OnLine output. These defaults cannot be overridden.