5.8.3. Intégration

Chaque spécialisation de domaine ou spécialisation structurelle a son propre module de conception. Ces modules peuvent se combiner pour créer plusieurs types de document différents. Le processus de création d'un nouveau type de document à partir d'une combinaison spécifique de modules s'appelle une intégration.

L'intégration est réalisée en utilisant un interpréteur de type de document (document type shell), qui définit les modules à intégrer et comment les intégrer. L'intégration définit à la fois les types de thème et les domaines qui seront permis dans le document, et comment les types de thème pourront s'imbriquer.

Le module d'un type spécifique ne devrait contenir que les déclarations des éléments et attributs uniques de ce type, et ne devrait pas incorporer d'autres modules. L'interpréteur ne devrait pas contenir de déclarations de balisage et devrait référencer directement tous les modules dont il a besoin. L'imbrication des interpréteurs ou des modules (en ayant des interpréteurs qui incorporent d'autres interpréteurs, ou des modules qui incorporent d'autres modules) est déconseillée, puisque cela augmente la complexité et peut casser certains outils. Le partage entre les types de document devrait avoir lieu au travers de modules partagés, non au travers d'une référence directe à un autre type de document. Les dépendances entre les modules devraient être satisfaites par l'interpréteur d'intégration, non au travers du module même.