Une fiche contient en propre les éléments suivants :
<entete> qui contient le titre, le sous-titre, les rédacteurs ainsi que les champs Propriété et Informations de la fiche
<corpsdefiche> qui contient le texte et les annexes
Une fiche peut également contenir des éléments issus des liens de la fiche avec d’autres composants de la base de fiches, à savoir :
<indexation> : contient les « extraits de thésaurus » des mots-clés indexant la fiche
<liage> : contient les « extraits de corpus » des fiches vers lesquels renvoie la fiche
<association> : contient les documents associés à la fiche
<chrono> : contient les dates de création et de dernière modification de la fiche
<langue> : donne l’intitulé de la langue de la fiche (élément anecdotique)
<intitule> : donne l’intitulé du type de la fiche intégrant le numéro (exemple : « Fiche de suivi n°28 789 »)
Un filtre de fiche est défini avec l’élément <fiche> La formulation la plus simple est la suivante :
<fiche/>
Ceci indique que tout le contenu de la fiche doit être extrait L’extraction s’affine en indiquant les différents éléments à l’intérieur de l’élément < fiche> Dans l’exemple suivant, seuls l’entête le liage sont extraits
<fiche>
<entete/>
<liage/>
</fiche>
Ensuite, chacun des sous-éléments de la fiche peut-lui même être affiné L’exemple suivant montre une extraction avec le titre, le sous-titre, les rédacteurs, la propriete de type « organisme » et l’information de type « adresse » uniquement dans l’entête, l’extraction du texte et de l’annexe de type « resume » dans le corps de fiche, dans la source
<fiche>
<entete>
<titre/>
<soustitre/>
<redacteurs/>
<propriete type="organisme"/>
<information type="adresse"/>
</entete>
<corpsdefiche>
<texte/>
<annexe type="resume"/>
</corpsdefiche>
</fiche>
L’affinage peut bien sûr être différent suivant les éléments Dans l’exemple suivant, on prend tout l’entête ainsi que seulement l’annexe de type « decision » ainsi que l’indexation :
<fiche>
<entete/>
<corpsdefiche>
<annexe type="decision"/>
</corpsdefiche>
<indexation/>
</fiche>
Les raccourcis
Il existe deux raccourcis, les éléments <idfiche> et <abregefiche> qui peuvent remplacer l’élément <fiche> et qui fixent les sous-éléments extraits de la fiche :
<idfiche>, ni l’entête, ni le corps de fiche ni la source ne sont extraits, il permet de produire un simple élément avec l’identifiant de la fiche
<abregefiche>, dans l’entête seuls le titre, le sous-titre et les rédacteurs sont extraits, ni le corps de fiche ni la source ne sont extraits
<idfiche> et <abregefiche> peuvent contenir des éléments issus des liens avec d’autres composants comme <indexation> ou <liage>
Les deux écritures suivantes obtiennent le même résultat au final :
<fiche>
<liage/>
</fiche>
<idfiche>
<liage/>
</idfiche>
Cependant, si le résultat est le même l’utilisation de l’élément <idfiche> permet de réduire le temps de traitement en facilitant les optimisations internes Il en va de même pour <abregefiche> Les deux écritures ci-dessous sont équivalents, <abregefiche> est plus rapide :
<fiche>
<entete>
<titre/>
<soustitre/>
<redacteurs/>
</entete>
</fiche>
<abregefiche/>
Le liage
L’élément <liage> regroupe toutes les fiches qui sont liées à la fiche en cours Il est composé d’éléments <extraitcorpus> auxquels il est possible d’appliquer toutes les filtres et sélections possibles pour cet élément
Le raccourci :
<liage/>
correspond en fait à :
<liage>
<extraitcorpus>
<abregefiche/>
</extraitcorpus>
</liage>
Il est donc possible de faire une sélection sur les fiches liées Dans l’exemple suivant, on ne prend que les fiches du corpus suivi
<liage>
<extraitcorpus>
<fiche-select>
<corpus>suivi</corpus>
</fiche-select>
<idfiche/>
</extraitcorpus>
</liage>
On peut aussi avoir plusieurs éléments <extraitcorpus> décrivant plusieurs extractions différentes Dans le cas suivant, on demande le contenu entier des fiches du corpus organisme alors qu’on ne prend que les identifiants des fiches du corpus suivi :
<liage>
<extraitcorpus>
<fiche-select>
<corpus>organisme</corpus>
</fiche-select>
<fiche/>
</extraitcorpus>
<extraitcorpus>
<fiche-select>
<corpus>suivi</corpus>
</fiche-select>
<idfiche/>
</extraitcorpus>
</liage>
La grande différence par rapport à un élément <extraitcorpus> normal c’est que quelque soit les critères de sélection, les éléments <extraitcorpus> compris dans <liage> ne comprendront que des fiches effectivement liée à la fiche considérée
Le groupement des éléments <extraitcorpus>
Par défaut, l’extraction crèe un élément <extraitcorpus> par corpus concerné, ces éléments possédant l’attribut @corpus qui permet de les distinguer
Il existe cependant la possibilité de regrouper des fiches de différents corpus dans un même élément <extraitcorpus> suivant les critères de poids Ce regroupement est souvent utile lorsque le poids représente un ordre particulier Il évite d’avoir à faire ce regroupement via la feuille de style XSLT, ce qui permet de ne pas trop l’alourdir
On signale qu’un élément <extraitcorpus> sert à un regroupement lorsqu’il possède l’attribut @group-name avec la valeur poids-asc (tri suivant le poids dans l’ordre croissant) ou la valuer poids-desc (tri suivant le poids dans l’ordre décroissant) Comme cet élément va contenir des fiches de différents corpus, ces fiches auront l’attribut @corpus qui permettra d’identifier le corpus de la fiche
Écriture simplifiée
L’écriture définie précédemment repose sur une correspondance entre le fichier d’extraction et le résultat final qui est un XML fortement structuré. Il est possible de simplifier l’écriture du fichier d’extraction de la façon suivante :
les éléments <liage, <indexation>, entete, corpsdefiche peuvent être ignorés s’ils contiennent des éléments. Ainsi :
<fiche>
<entete>
<titre/>
<soustitre/>
<redacteurs/>
<propriete type="organisme"/>
<information type="adresse"/>
</entete>
<corpsdefiche>
<texte/>
<annexe type="resume"/>
</corpsdefiche>
</fiche>
peut être écrit :
<fiche>
<titre/>
<soustitre/>
<redacteurs/>
<propriete type="organisme"/>
<information type="adresse"/>
<texte/>
<annexe type="resume"/>
</fiche>
Lorsque la sélection via <fiche-select> ou <motcle-select> ne porte que sur des corpus et des thésaurus (c’est la sélection la plus courante), il est possible de remplacer ces éléments par des attributs @corpus et @thesaurus (ils peuvent contenir plusieurs corpus ou thesaurus séparés par des virgules).
<fiche>
<liage>
<extraitcorpus>
<fiche-select>
<corpus>suivi</corpus>
</fiche-select>
<idfiche/>
</extraitcorpus>
</liage>
<indexation>
<extraitthesaurus>
<motcle-select>
<thesaurus>geo</thesaurus>
<thesaurus>thema</thesaurus>
</motcle-select>
<motcle/>
</extraitthesaurus>
</indexation>
</fiche>
peut être écrit
<fiche>
<extraitcorpus corpus="suivi">
<idfiche/>
</extraitcorpus>
<extraitthesaurus thesaurus="geo, thema">
<motcle/>
</extraitthesaurus>
</fiche>