Templates récursifs

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%
.endif
Résultat :
C3