Google Chercher dans diml.org
[ english ]

Table des matières
Appels simples
Appels réduits à des variables
Appels vectoriels  Dernières infos
 Une application du composant  WCT_NEWS  
>> Haut de la page

L'appel de templates

Appels simples

Un template peut être rappelé à n'importe quel endroit d'un document DIML, y compris avant même sa définition.Un appel simple est une instruction DIML suivant la syntaxe :

<%template file=une_URI_de_fragment %>

L'attribut file, pointeur sur le template désiré, peut être écrit comme un fragment d'URI standard, localisant une ancre unique dans un document. C'est l'ID dans la définition du template qui sera prise en compte en tant qu'ancre. Par ce procédé, il devient possible d'intégrer des templates définis dans d'autres fichiers DIML. Par exemple :

L'instruction suivante :

<%template file="#template_id" %>

Appelle un template défini quelque part dans le même fichier.

L'instruction :

<%template file="chemin_relatif/un_document.diml#template_id" %>

va rechercher un template d'ID "template_id" dans un fichier exprimé relativement au répertoire courant (celui du script d'alimentation, ou du document DIML maître, suivant le mode de fonctionnement du processeur).

Il est illégal de tenter de pointer des ressources sur des hôtes différents, par exemple en utilisant un préfixe http: (c'est à dire qu'aucune mention de protocole ne de nom d'hôte ne doit y figurer).

Appels réduits à des variables

Pour rendre le DIML encore plus efficient, l'appel des templates dits "locaux" a été simplifié plus encore. Il suffit de connaître l'ID du template, et d'effectuer un appel dit "de variable scalaire" :

<%%template_id%%>

ou

<% %template_id% %>

Cet appel permet d'utiliser n'importe quel template mémorisé, ou variable DIML définie (ce qui revient pratiquement au même à quelques détails près) directement, comme un "champ variable" dans un traitement de texte. Il s'agit de la forme la plus utilisée en DIML.

Appels vectoriels

Les templates ont également été conçus comme un moyen pratique de définir des "motifs" HTML qui peuvent être répétés itérativement lors de la construction dynamique d'un document HTML.

Ce paragraphe donne un bref aperçu des appels vectoriels qui seront discutés dans la quatrième section du parcours de base.

Une page Web construite à partir de l'extraction d'une base de données, ou toute autre construction programmée fait souvent apparaître des éléments répétitifs. Ces répétitions sont la conséquence de l'itération dans l'algorithme utilisé pour construire la page.

A cette fin, la définition du DIML propose une syntaxe pour utiliser les templates comme motifs d'une construction itérative : l'attribut iterate. Par exemple :

On considère le template :

<TEMPLATE ID="uneLigne">
<TR WIDTH=400>
<TD ALIGN=top WIDTH=40>
<%%SEQUENCE[]%%> -
</TD>
<TD ALIGN=top WIDTH=400>
<A HREF SRC="<%%MATCHING_URL[]%%>"><%%MATCHING_URL[]%%></A>
<BR>
<P><FONT COLOR="#FFFF80" SIZE=-1><%%MATCHING_INFO[]%%></FONT>
</TD>
</TR>
</TEMPLATE>

L'appel vectoriel :

<%template file="#uneLigne" iterate=10 %> 

aura pour effet, de faire appel 10 fois au template %uneligne%. De plus l'attribut iterate force le processeur ESSI à incrémenter les indices associés aux tableaux utilisés dans le template, relativement à la profondeur d'imbrication du template et à la dimension du tableau (ouille ! ça, faudra y revenir plus tard je crois).

précédent sommaire suivant


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