Table des matières

Les fichiers d'information

Comme indiqué dans la description du fichier de configuration sources.xml, une source de données peut être indiquée soit par une URL pointant directement sur un fichier au format ScrutariData soit par une URL pointant sur un fichier contenant les informations nécessaires à la constitution d'un fichier complet au format ScrutariData.

Le format de ce fichier d'information est aussi du XML et il contient les trois informations suivantes :

Structure du format XML

L'élément racine est l'élément <info> qui contient seulement deux éléments :

Approche par fichier unique

Cette approche est celle des petites bases ou des systèmes qui n'ont pas de problème de ressources. Dans cette approche, la source de données met à disposition un fichier unique conforme au format ScrutariData (comme elle le ferait pour un fichier de syndication). Dans ce cas, le fichier d'information ne comprend qu'un seul élément <scrutaridata-url> avec l'adresse de ce fichier et aucun <xml-fragment>.

Exemple

<?xml version='1.0' encoding='UTF-8'?>
<info>
   <date>2014-04-01</date>
   <scrutaridata-url>site.scrutari-data.xml</scrutaridata-url>
</info>

Approche par reconstitution

Cette approche est utile quand le traitement dans un fichier unique risque d'atteindre les limites du serveur (par exemple, un script PHP peut avoir une limite de mémoire allouée). L'idée est de les données sous le forme de plusieurs fichiers qui seront concaténés par le moteur Scrutari en un fichier unique. Ces fichiers n'ont pas à être des fichiers XML valides, le moteur les concatène d'abord comme des chaines de caractères et ensuite parse le XML. Les éléments <xml-fragment> déclarés dans le fichier d'information sont égalément concaténés comme des chaines de caractères, ils n'ont pas à être du XML valide non plus.

<scrutaridata-url> et <xml-fragment> sont concaténés dans l'ordre d'apparition dans le fichier d'information.

Dans l'exemple suivant, l'exportation se fait en plusieurs temps. Le premier script export.php?type=debut écrit le début du fichier XML avec en particulier la partie <base-metadata>, le script export.php?type=corpus&amp;corpus=video commence un nouveau corpus (avec la partie <corpus-metadata> et le script export.php?type=fiches&amp;corpus=video liste les fiches du corpus. <xml-fragment><![CDATA[</corpus>]]></xml-fragment> permet de fermer le corpus avant l'appel d'un autre corpus.

<?xml version='1.0' encoding='UTF-8'?>
<info>
   <date>2014-04-01</date>
   <scrutaridata-url>export.php?type=debut</scrutaridata-url>
   <scrutaridata-url>export.php?type=corpus&amp;corpus=video</scrutaridata-url>
   <scrutaridata-url>export.php?type=fiches&amp;corpus=video</scrutaridata-url>
   <xml-fragment><![CDATA[</corpus>]]></xml-fragment>
   <scrutaridata-url>export.php?type=corpus&amp;corpus=document</scrutaridata-url>
   <scrutaridata-url>export.php?type=fiches&amp;corpus=document</scrutaridata-url>
   <xml-fragment><![CDATA[</corpus>]]></xml-fragment>
   <xml-fragment><![CDATA[</base>]]></xml-fragment>
</info>

DTD

<!ELEMENT info (date|scrutaridata-url+)>
 
   <!ELEMENT date (#PCDATA)>
 
   <!ELEMENT scrutaridata-url (#PCDATA)>
 
   <!ELEMENT xml-fragment (#PCDATA)>