Un modèle est un document BSCW de type MIME « Modèle
de Générateur de documents » (text/x-bscw-template
). Les
modèles doivent être créés en utilisant un éditeur de texte ASCII normal (par
exemple, le bloc-notes de Windows) et non pas par un système de traitement
de texte tel que Microsoft Word. Lors du téléchargement d’un modèle de document
vers un ensemble de documents, le type MIME « Modèle de Générateur de
documents » doit être spécifié. Autrement le processus
d’évaluation ne reconnaît pas le document comme un modèle.
Nous recommandons que vous utilisiez une extension telle
que .dtm pour les modèles de documents, donc ils peuvent facilement être
identifiés dans le listage d’un dossier. Un modèle est représenté par
l’icône.
Il existe deux catégories de modèles : les modèles de la première classe créent un document directement pendant le processus d’évaluation. Un modèle appartient à cette classe si le paramètre d’évaluation document est spécifié pour le modèle.
Les modèles de la deuxième classe contribuent indirectement à la création d’un document parce qu’ils sont référencés par d’autres modèles. Un modèle appartient à cette classe si le paramètre d’évaluation document est manquant.
Outre le paramètre d’évaluation document, il y a un autre paramètre d’évaluation template qui indique un modèle dans lequel les définitions d’entité du modèle actuel seront insérées lors de l’évaluation. Les deux paramètres d’évaluation spécifient les noms de document dans l’ensemble du document.
Les paramètres d’évaluation peuvent être considérés comme
une sorte d’entités appartenant aux modèles. Ils peuvent être définis (et
redéfinis) utilisant Paramètres
d’éval.
dans le menu actions d’un modèle de document.
Les règles suivantes s’appliquent au cours du processus d’évaluation :
Le processus d’évaluation évaluera le modèle X et créera un document avec le nom spécifié par le paramètre document. Dans ce cas, le modèle est composé, en général, de texte contenant des références à des entités qui sont résolus par le processus d’évaluation avant que le document soit inséré dans l’ensemble de documents.
Le processus d’évaluation évaluera le modèle spécifié par le paramètre template et créera un document avec le nom spécifié par le paramètre document. Au cours du processus d’évaluation, les définitions d’entité du modèle X sont utilisées. Dans ce cas, le modèle est composé, en général, de définitions d’entités, qui sont insérées dans le modèle spécifié par le paramètre template par le processus d’évaluation avant que le document soit inséré dans l’ensemble des documents.
Le processus d’évaluation évaluera le modèle X si et seulement s’il est référencé par un autre modèle via le paramètre template (voir cas (b) ci-dessus) ou s’il est imbriqué dans un autre modèle (voir ci-dessous). Dans ce cas, le modèle X, est composé essentiellement de texte contenant des références à des entités qui seront évaluées par le processus d’évaluation.
Le processus d’évaluation évaluera le modèle X si et seulement s’il est référencé par un autre modèle via le paramètre template (voir cas (b) ci-dessus) ou s’il est imbriqué dans un autre modèle (voir ci-dessous). Dans ce cas, le modèle X, est composé de définitions d’entités qui sont insérées dans le modèle spécifié par le paramètre template par le processus d’évaluation.
Les modèles peuvent être imbriqués dans d’autres modèles, c’est-à-dire qu’un modèle peut être utilisé par plusieurs autres. Un modèle est imbriqué en utilisant la notation suivante :
#(nom-de-modèle)#
Au cours du processus d’évaluation, le modèle imbriqué est évalué et le texte résultant remplace la référence. La référence à un modèle imbriqué peut également contenir des informations par rapport au chemin d’accès afin de pouvoir localiser le modèle dans la hiérarchie de dossiers de l’ensemble du document. Les noms des chemins d’accès sont considérés être relatifs à l’emplacement du modèle de référence. Les modèles avec définitions d’entités peuvent également être imbriqués dans un autre modèle. Dans ce cas, le résultat du processus d’évaluation sera aussi inséré.
Utilisant la notation suivante
#(nom-de-modèle,
nom-de-modèle-combinée)#
on peut combiner un modèle imbriqué avec un autre modèle qui contient des informations d’entité. Au moment de l’évaluation du modèle imbriqué, les définitions d’entité du modèle consolidé seront d’abord évaluées et insérées dans le modèle imbriqué ; alors seulement le modèle imbriqué sera évalué et inséré. De cette façon, quelqu’un peut combiner des modèles en définissant des entités avec différents modèles dans des contextes variés.
Les noms des modèles imbriqués peuvent contenir les caractères jokers « * » (chaîne arbitraire) et « ? » ( caractère arbitraire). Dans ce cas, tous les modèles qui correspondent au patron seront imbriqués l’un après l’autre. L’expression suivante :
#(&(content_dir);/faq/question*.dtm,
&(template_dir);/faq.dtm)#
entraînera tous les modèles dans le répertoire &(content_dir);/faq dont le nom correspond au modèle en question*.dtm à être combiné avec le modèle &(template_dir);/faq.dtm et ensuite à être évalué et inséré.