Google Chercher dans diml.org
[ english ]

Table des matières
Définition
Déclaration d'un TEMPLATE
L'attribut ID
Le contenu des templates
Où déclarer les templates
Résumé  Dernières infos
 Une application du composant  WCT_NEWS  
>> Haut de la page

La balise TEMPLATE

Définition

Les "templates" sont une des méthodes permettant d'optimiser le codage des pages Web, en considérant une page Internet comme l'assemblage de sous-composants dont la sémantique propre peut être isolée du reste. Un template DIML est défini comme étant un fragment de document HTML pouvant de plus accepter des instructions DIML. Une des applications très simple de ce principe (la gestion d'un haut de page et d'un pied de page commun à l'ensemble d'un site) sera expliquée en détail un peu plus loin.

Déclaration d'un TEMPLATE

Une déclaration de template DIML commence par une balise de début <TEMPLATE attributs> et se termine par une balise de fin </TEMPLATE>

Comme tout "élément HTML" la balise TEMPLATE a des attributs.

L'attribut ID

Un template est défini grace à l'attribut obligatoire ID qui assigne un nom au fragment. Ce nom est indispensable si ce fragment doit être appelé par une instruction d'injection. L'ID peut être n'importe quelle chaîne de caractères excluant les séquences <% et %> et doit impérativement être quoté.

Le choix des noms est libre, et l'étape de parcours nommage des templates vous fournira plus de renseignements et d'astuces sur la façon de nommer les templates. Pour l'instant, les documents qui suivent donneront des noms de variables simples aux templates, utilisant les majuscules et le caractère "_".

Que se passe t'il si le même nom est donné à plusieurs templates successifs ? Pas très mystérieux !! le processeur examine les templates dans l'ordre du fichier avant de traiter le contenu principal. C'est donc le dernier template qui l'emporte.

Les autres attributs de la balise TEMPLATE seront vus plus loin.

Le contenu des templates :

Celui-ci peut contenir des appels à des variables, ou des injections d'autres templates. Il faut donc être particulièrement vigilant à ne pas créer d'injection circulaire, car aucune obligation n'est faite au preprocesseur de signaler ce cas de faute.

Note : Les versions récentes du processeur proposent un moyen de limiter la récursion, pour éviter ces boucles d'injection infinies. Voir le fichier de configuration du processeur et la variable interne MAXSCANDEPTH.

Où déclarer les templates

Initialement, le template était vu comme une sous-entité majeure d'un fichier HTML, et ne devrait être déclaré qu'après la fermeture </HTML>. En fait, les premières implémentations du processeur ont permis une pratique plus souple qui s'est révélé suffisament pratique pour être conservée par la suite. Le fait que le processeur extraie les déclarations du document principal permet de les déclarer n'importe où dans le document, même au début, ou encore en plein milieu du code de la page, ou dans un script. Le code du template est "invisible" par rapport au document principal.

Déclarations imbriquées

Elles sont rigoureusement interdites, bien que le code d'un template puisse se servir du code d'un autre. Mais ceci se fait par les appels de variable DIML et non par une définition imbriquée.

Résumé

On peut :

  • Déclarer autant de templates que l'on veut.
  • Déclarer des templates à n'importe quel endroit du contenu propre.
  • Donner n'importe quel nom à un template, pourvu que ni la séquence d'ouverture DIML ni la séquence de fermeture n'y apparaissent.
  • Donner le même nom à plusieurs templates, mais seul le dernier est alors valide.

On ne peut pas :

  • Ecrire une déclaration de template imbriquée (un élément TEMPLATE dans une déclaration de template est interdite).
  • Ouvrir une déclaration de template à la fin du document sans la refermer.
  • Ecrire un ID non quoté.
  • Ne pas donner d'ID à un template.
précédent sommaire suivant


All material is copyleft V.G. FREMAUX (EISTI France) 1999 to 2003 except explicitly mentioned