Comme son nom l’indique, le paramétrage d’un champ d’exportation intervient à chaque fois que des données de la base, et en particulier des données associées à une fiche, sont formatées en vue d’une exportation.
L’exemple le plus courant de champs d’exportation est celui des colonnes des tables lors de la traduction des fiches sous forme de base SQL ou de classeur OpenOpenOffice. On retrouve également la notion de champs d’exportation dans les champs complémentairs de l’exportation vers le moteur de recherche RechercheDeFiches.
Autre exemple d’utilisation, le paramétrage de la génération automatique d’un titre dans un corpus est calqué sur le paramétrage d’un champ d’exportation.
Le paramétrage d’un champ d’exportation nécessitent trois éléments :
1) le ou les champs d’origine des données
2) la règle de formatage, c’est à dire la manière avec laquelle les données originelles sont transformées en chaînes de caractère
3) des paramètres particuliers, précisant souvent la règle de formatage.
Des trois éléments, seul le premier, celui des champs d’origine, est obligatoire. En cas d’absence des autres, le logiciel se débrouille pour prendre un règle et des paramètres par défaut.
On peut voir un exemple de ces trois éléments dans le formulaire Options des champs d'un corpus : la partie Option de génération automatique du titre propose trois zones de saisie, un pour chacun de nos trois éléments et un message d’erreur sera généré si « champs d’origine » n’est pas renseigné.
Champs d’origine des données
Il s’agit de tous les champs possibles dans un corpus (champs spéciaux, propriétés, informations, annexe) mais aussi des insertions d’indexation, de liage ou d’association de documents. Champs et insertions sont exprimés suivant la syntaxe habituelle telle qu’on peut la voir dans la gestion de l’interface. Pour le liage et l’indexation, il est possible d’indiquer un filtre sur le poids.
titre
corpus_suivi
lang
propriete_date
information_auteurs
liage
thesaurus_dossiers:3
exemples de champs
Un champ d’exportation peut regrouper plusieurs champs différents à condition qu’ils contiennent des données du même type. Autrement dit, on peut regrouper plusieurs thésaurus, des champs propriétés et informations mais pas mélanger du texte avec le champs rédacteurs.
En particulier, les champs propriétés et informations peuvent être regroupés s’ils contiennent le même type d’items de fiches. Le champ redacteurs peut être regroupé avec un ou plusieurs champs propriété ou information si ces champ contiennent le type d’item « personne ». Le champ spécial de la langue de la fiche (lang) peut être regroupé avec un ou plusieurs champs propriété ou information si ces champs contiennent le type d’item « langue ».
Par ailleurs, le champ spécial texte peut évidemment être regroupés avec un ou plusieurs champ annexes. Les champs spéciaux titre, soustitre, idcorpus ne peuvent pas être regroupés.
En cas de regroupement de champs, ceux-ci doivent être séparé par une virgule (,), un point-virgule (;) ou n’importe quel espace blanc.
thesaurus_thema1:4, thesaurus_thema:2 thesaurus_candidats
information_auteurs; propriete_personne, redacteurs
(si information_auteurs et propriete_personne contiennent bien des items personnes)
lang, information_versions
(si information_versions contient bien des items langues)
exemple de regroupements valides
thesaurus_thema, corpus_suivi
titre, lang
redacteurs, thesaurus_geo:3
exemples de regroupements invalides
La règle de formatage
La règle de formatage utilise comme syntaxe des variables mises en accolades, ces variables indiquant à quel endroit doit être insérée telle ou telle information. Par exemple, pour indiquer qu’un mot-clé doit être écrit avec l’idalpha suivi du libellé et le caractère – comme séparateur, la règle de formatage est la suivante :
{idalpha} – {lib}
Les variables disponibles dépendent du type de donnée. Par exemple, pour un champ qui contient des langues, on peut insérer le code de la langue ou son libellé dans une langue donnée. Pour une personne, on n’a le nom, le prénom, l’organisme, etc.
Les variables disponibles ainsi que les régles de formatage par défaut sont décrites dans la fiche Règles de formatage disponibles pour chaque type de données.
Lorsque les données originelles contiennent plusieurs éléments (par exemple, plusieurs mots-clés dans le cas de thésaurus, plusieurs items de fiche dans le cas d’un champs information), le processus est le suivant :
1) chaque élément est formaté suivant la règle de formatage,
2) les chaines de caractères résultantes sont additionnés dans l’ordre des éléments, une chaine de caractères spéciales (le séparateur) étant insérées entre chaque chaine résultante. Le séparateur peut être configuré comme indiqué ci-dessous.
Les paramètres particuliers
Les paramètres sont sous la forme nom du paramètre = valeur du paramètre. Plusieurs paramètres sont séparés par une virgule (,). Les paramètres limit, pos, sep ne sont pertinents que si les champs originaux sont susceptibles de contenir plusieurs éléments : par exemple, plusieurs mots-clés
cast
: peut prendre les valeurs int, double ou date, indique que la chaine de caractère issue du formatage doit être transformée en entier, en décimal ou une date (la chaîne devant alors être au format ISO) ; si cette chaine de caractères ne correspond pas à un entier, un décimal ou une date, la chaine de caractères est remplacé par la valeur null ;
limit
: limite le nombre d’éléments issus des données originelles à prendre en compte ; doit être un entier strictement positif (on n’utilisera limit=1
pour se contenter du premier élément (par exemple, le premier mot-clé, le premier item de fiche, etc.).r
pos
: ne prend en compte que l’élément à la position indiquée ; donne au champ d’exportation la valeur nulle s’il n’y a pas d’élément à cette position ; doit être un entier strictement positif ;
sep
: indique le séparateur à utiliser dans le cas de plusieurs valeurs, utiliser les guillemets si on veut un espace (ex: sep=", "
), prendre la valeur NL pour indiquer un saut de ligne.
Exemples
Les deux exemples suivant récupère l’information de la langue de la fiche ; dans le premier cas, seul le code ISO (par exemple fr) est retenu alors que dans le second, on obtient une combinaison du code ISO et du libellé dans la langue par défaut (par exemple, fr= français).
lang
{code}
lang
{code}= {lib}
Dans l’exemple suivant, on retient uniquement les deux premiers mots-clés du thésaurus geo indexant la fiche en question et avec un poids +2 et +4 ; seule le libellé est conservé et s’il y a plusieurs libellés ils seront séparés par une virgule (par exemple : France, Italie).
thesaurus_geo:2, thesaurus_geo:4
{lib}
limit=2, sep= ", "