Un template peut s'appeler lui-même, mais un tel template doit contenir des critères ou un changement de portée pour éviter de créer une boucle infinie.
Exemple |
---|
La classe C1 est
interne à la classe C2, qui à son
tour est interne à C3. Le template
%topContainerCode% teste si le
classificateur courant est interne à un autre, et si tel est le cas,
il s'appelle lui-même sur le classificateur conteneur pour effectuer
le même test, et ainsi de suite jusqu'à ce qu'il atteigne un
classificateur qui n'est pas interne, et récupère alors le code de
ce conteneur racine
:.if (%isInner%) %ContainerClassifier.topContainerCode% .else %Code% .endifRésultat : C3 |