Imbrication et pipeline
Imbrication et sécurité
Les composants peuvent utiliser use d'autres composants. Le compositeur se résout récursivement jusqu'à 8 niveaux de profondeur, intégrant les données délimitées à chaque niveau.
- Isolation des locataires — un
usene se résout que dans le même locataire. - Détection de cycles — le compositeur suit les poignées visitées et rejette les cycles (
A → B → A). - Vérification des collisions — les noms
metadata.namedupliqués dans la bibliothèque de composants échouent au chargement, jamais silencieusement au rendu.
Pipeline de composition
1. Charger le document
2. TemplateComposer résout chaque use (récursif, limité en profondeur) — fusionne la configuration,
intègre les données par utilisation, estampille les styles de section, assemble le contenu
3. TemplateDataResolver résout les jetons $data / $item restants avec les données de l'appelant
4. Les variables globales ($global.PAGE, …) et le moteur de rendu produisent le PDF / DOCX final
La composition s'exécute avant la passe de données globales, les composants peuvent donc porter des références $data qui se résolvent avec les données de l'appelant.