De nombreuses informations capturées par Episodus sont utilisées telles-quelles, sans qu'il soit besoin de les adapter ; c'est le cas des noms, prénoms, adresses, etc. D'autres informations, comme les dates ou les données chiffrées nécessitent une transformation avant leur incorporation dans le logiciel. Le fichier "captfrmt.dat" contient ces règles de transformation, avec une syntaxe que nous allons décrire dans ce document.
Chaque ligne du fichier contient une règle de transformation, avec son intitulé et sa syntaxe.
[JJ/MM/AAAA] $JJ$/$MM$/$AAAA$
Exemple de règle de transformation
L'intitulé est toujours en début de ligne, entre crochets droits ([...]), comme JJ/MM/AAAA dans l'exemple ci-dessus. C'est l'information qui sera présentée à l'utilisateur afin qu'il puisse sélectionner cette règle par comparaison avec le format des données qu'il a effectivement capturées.
Il n'y a pas de formalisme particulier pour l'intitulé. L'utilisateur doit pouvoir comprendre qu'il convient de sélectionner la régle de l'exemple ci-dessus lorsqu'on capture des dates du type "05/08/2005". L'intitulé pourrait aussi bien être « date du genre 05/08/2005 ».
La syntaxe est située après le crochet de fermeture de l'intitulé, séparée par un espace, comme $JJ$/$MM$/$AAAA$ dans l'exemple ci-dessus. Au contraire de l'intitulé, elle doit être très précisément formulée, car elle est interprétée par Episodus. C'est l'objet de la suite du document.
Le but de la syntaxe est de permettre à Episodus de traiter une expression qui répond à un formalisme donné afin d'en extraire l'information signifiante. Dans l'exemple ci-dessus, le formalisme peut se décrire comme « Une date avec le jour sur deux chiffres, le mois sur deux chiffres et l'année sur quatre chiffres, séparés par le signe '/' ». Ce qui intéresse Episodus dans ce cas particulier, c'est :
La syntaxe doit donc séparer les informations à capturer du formalisme d'écriture. Pour ce faire, les séquences de caractères qui représentent une information sont désignés par des blocs d'instructions qui commencent et finissent par un '$', par exemple $JJ$.
Les blocs d'instruction commencent tous par un caractère qui indique le type d'information à capturer :
Il existe trois types de blocs d'instruction : les énumérations, les blocs de taille fixe et les blocs de taille variable.
Les énumérations sont utilisées lorsque la donnée à capturer est représentée sous forme de mots, par exemple, pour un mois, "janvier" au lieu de "01".
Dans ce cas, les différents mots possibles sont indiqués dans l'ordre avec le caractère '|' comme séparateur.
$MM|janv|févr|mars|avr|mai|juin|juil|août|sept|oct|nov|déc|$ $SS|Masculin|Féminin|$
Exemples d'énumération pour les mois et le sexe
Les blocs de taille fixe sont utilisés lorsque des nombres sont représentés par une séquence de chiffres de taille constante, par exemple de "01" à "12" pour les mois de l'année. Dans ce cas, le caractère qui indique le type d'information à capturer est répété autant de fois qu'il faut de chiffres pour composer le nombre : par exemple $MM$ pour des mois de l'année à deux chiffres.
$JJ$/$MM$/$AAAA$ $U$ m $dd$
Exemples utilisant des blocs de taille fixe : date et taille
Les blocs de taille variable sont utilisés lorsque des nombres sont représentés par une séquence de chiffres de taille non constante, par exemple de "1" à "12" pour les mois de l'année. Dans ce cas, le caractère qui indique le type d'information à capturer est suivi d'un '+' : par exemple $M+$ pour des mois de l'année à un ou deux chiffres.
$J+$/$M+$/$AAAA$ $U+$,$d+$
Exemples utilisant des blocs de taille variables : date et nombre à virgule