Format du fichier balayage.xml

L’élément racine est l’élément <balayage> : il contient un élément <metadata>, un ou plusieurs éléments facultatifs <global-fiche-select> et une série d’éléments définissant des « unités de balayage » qui portent sur parties différentes de la base de fiches : <corpus-balayage>, <fiche-balayage>, <thesaurus-balayage>, <motcle-balayage>, <unique-balayage>.

L’élément <metadata>

Cet élément contient trois attributs :

Il peut également contenir des éléments <mode>. Ces éléments servent à définir des modes de balayages différents (permettant ainsi de ne déclencher que certains balayages). Un élément <mode> possède deux attributs :

L’élément <global-fiche-select>

L’élément <global-fiche-select> permet de définir un critère global de sélection des fiches qui s’appliquera à toutes les extractions. La syntaxe de <global-fiche-select> est la même que celle de <fiche-select>. Comme <fiche-select> on peut mettre plusieurs éléments <global-fiche-select> à la suite qui auront ou comme relation conditionnelle.

Seules les fiches sélectionnées par <global-fiche-select> seront apparaîtront dans les extractions, par exemple dans le liage d’une fiche, l’indexation d’un mot-clé ou la liste des fiches d’un corpus. L’élément <global-fiche-select> permet de définir un critère de publication, l’exemple classique est celui d’un thésaurus avec le mot-clé « Public » qui permet de marquer les fiches susceptibles d’être publiées.

Si une unité de balayage possède son propre critère de sélection, il y a addition entre les critères de la sélection globale et celle de l’unité de balayage. Ce comportement peut être évité avec l’attribut @global-select (voir ci-dessous).

Les unités de balayage :

Toutes très similaires, elles se distingue par un préfixe qui indique ce qui va déterminé le nombre d’extraction :

ces éléments peuvent posséder les attributs facultatifs suivants :

Ils comprennent principalement des éléments <output> qui indique les sorties faites à partir de l’extraction.

Un élément <output> possède les attributs factultatifs suivants :

Un élément <output> peut également comprendre un nombre illimité d’éléments <param> qui décrivent des paramètres qui seront passés à la feuille de style XSLT (en plus des paramètres passés automatiquement, voir Paramètres passés automatiquement). Un élement <param> a comme attribut @name et @value.

Si on a le paramètre suivant :

<param name="Lang" value="fr"/>

Il sera récupéré dans la feuille XSLT via :

<xsl:param name="Lang"/>

<fiche-balayage> peut comprendre, avant tout élément <output> des éléments identiques à ceux de l’élément fiche-select afin de limiter l’étendue des fiches sur lequel se fait l’extraction.

Par exemple :

<fiche-balayage extraction="fiche.xml">
  <corpus>site</corpus>
  <range>1</range>
  <output xslt="index.xsl" pattern="index"/>
</fiche-balayage>

Cette unité de balayage fait un balayage sur les fiches en prenant comme modèle d’extraction « fiche.xml » , elle ne portera que sur la fiche « 1 » (<range>1</range>) du corpus « site » (<corpus>site</corpus>) et le fichier généré aura pour nom index.html (ou index.xml s’il n’y a pas de transformation) après transformation par la feuille de style « index.xsl ».

Un élément <fiche-balayage> est également sensible aux critères de la sélection globale pour déterminer quelles fiches seront réellement extraite sauf si cet élément possède l’attribut global-select avec la valeur false.

De la même manière un élement <motcle-balayage> peut comprendre avant tout élément <output> des éléments identiques à ceux de <motcle-select>, là aussi à fin de réduire l’étendue de l’extraction.

Enfin, <corpus-balayage> et <thesaurus-balayage> peuvent comprendre avant tout élément <output> respectivement des éléments <corpus> et <thesaurus> afin de restreindre l’extraction aux corpus et thésaurus indiqués.

Cas particulier de @path="_inc_"

Il peut arriver que le premier balayage serve à générer un fichier xml qui sera utilisé dans les feuilles de style XSLT des balayages qui suivent (par exemple, la construction d’un menu qui se trouve dans toutes les pages à partir d’un thésaurus). Ce fichier xml est un fichier transitoire qui ne sert qu’au moment du balayage.

Il est possible de placer ce fichier xml dans un répertoire particulier en donnant _inc_ comme valeur de l’attribut @path d’un élément <output>. Ce répertoire particulier se trouve dans le répertoire du balayage lui-même et s’appelle _inc_. Les fichiers qui s’y trouvent sont alors accessibles par les fichiers XSLT qui se trouvent, eux, dans le répertoire xslt par une commande de type :

document('../_inc_/menu.xml')

Cas particulier de <document-balayage>

L’extraction sur les documents consiste simplement en une copie des documents associés dans la base de fiches vers un répertoire accessible de l’extérieur. Il y a pas de transformation apportée au document. Autrement dit, l’attribut @extraction de <document-balayage> et l’attribut @pattern des éléments <output> n’ont pas d’importance. En outre, ce balayage n’est pas affecté par les options de langues (attribut @lang-option et @lang-option).

Les éléments <output> utilise l’arguments supplémentaire :

Un balayage de documents peut être limité à certaines extensions (par exemple, ne balayer que les fichier pdf). Pour cela, il suffit d’inclure dans l’élément <document-balayage> des éléments <extension>, qui comprennent les extensions à conserver.

Si un ou plusieurs éléments <global-fiche-select> a été défini, seuls les documents associés aux fiches sélectionnées sont extraits. Dans le même ordre d’idée, un élément <document-balayage> accepte les mêmes éléments que <fiche-balayage> permettant de sélectionner les fiches : seuls les documents associés à des fiches seront extraits.

<document-balayage>
  <extension>pdf</extension>
  <extension>odt</extension>
  <corpus>bip</corpus>
  <range>100-200</range>
  <output path="docs" mode="ln" clean="1"/>
</document-balayage>

Extraction des documents pdf et odt associés aux fiches bip de numéro compris entre 100 et 200

L’élément <sitemap>

La présence de l’élément <sitemap> permet de produire un fichier XML au format SiteMap, format conçu pour enregistrer toutes les URLs d’un site à destination des moteurs de recherche. Le fichier produit va contenir toutes les liens vers les fichiers HTML générés par les différents balayages.

Point important : seuls les fichiers avec l’extension .html sont inclus dans le fichier SiteMap.

L’élément <sitemap> possède trois attributs optionnels :