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 :

  • la date de dernière mise à jour des données du site (évite ainsi au moteur Scrutari de faire un téléchargement superflu s'il n'y a pas de mise à jour)
  • la ou les URL des fichiers permettant de retrouver les données au format ScrutariData
  • dus fragments de code XML insérés directement

Structure du format XML

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

  • <date> : date de dernière mise à jour au format ISO,
  • <scrutaridata-url> : URL d'un fichier à télécharger ; le chemin indiqué peut être relatif par rapport à l'URL du fichier d'information ; il peut y avoir plusieurs éléments <scrutaridata-url>, le serveur les téléchargera dans l'ordre indiqué et les fusionnera pour obtenir un seul fichier.
  • <xml-fragment> : code XML à inclure directement

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)>
serveurscrutari/config/scrutariinfo.txt · Dernière modification: 2022/09/11 12:24 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0