Fichier uri-codes.xml : préétablir le code des URI

Les différents contenus du format ScrutariData sont identifiés de façon certaine à l'aide d'un URI (pour plus de précision, voir URI). Comme cet URI peut être assez long, le serveur ne l'utilise pas en interne : il attribute un code (un entier strictement positif) à chaque URI et c'est ce code qu'il manipule à la place. Ce code se retrouve d'ailleurs toujours dans les résultats des requêtes JSON. D'une mise à jour à l'autre, le serveur essaie d'attribuer le même code à une URI mais cette opération n'est pas garantie : un déplacement du serveur, une réinitialisation en profondeur peuvent supprimer cette association. C'est pourquoi la conservation des informations doit se faire via les URI.

Cependant, pour certains contenus comme la définition des bases, des corpus et des thésaurus, il peut être avantageux d'être sûr de la pérennité de l'attribution des codes : cela permet de manipuler de simples entiers plutôt que de longues chaines (par exemple, dans les paramétrages). Les requêtes JSON peuvent recevoir aussi bien des codes que des URI quand il s'agit de lister du contenu (par exemple, les mots-clés lorsqu'il s'agit d'un filtre sur l'indexation).

C'est l'objectif du fichier de configuration uri-codes.xml de proposer cette pérennité. Ce fichier n'est pas obligatoire. Il se présente très simplement sous forme d'une liste d'URI avec le code qu'il lui est attribué. Les doublons (code attribué deux fois ou URI avec des codes différents) ne déclenchent pas d'erreurs et sont signalés sous forme d'avertissement.

La numérotation automatique des URI commençant à partir de 1001, les codes de 1 à 1 000 peuvent donc être attribué librement sans risque de conflit.

Note : toute modification des codes ne sera pris en compte qu'après la relance du moteur (ou après la mise à jour quotidienne).

Structure du format XML

L'élément racine est l'élément <uri-codes> qui contient un seul type d'élément : l'élément uri qui a un attribut, @code (entier strictement positif), et dont la valeur est l'URI du contenu ScrutariData.

Exemple

Dans cet exemple, la base, deux corpus et un thésaurus se voient attribués un code pérenne.

<?xml version="1.0" encoding="UTF-8"?>
<uri-codes>
    <uri code="1">base:/e17a05b0-c45e-11d8-9669-0800200c9a66/gouvafrique</uri>
    <uri code="2">corpus:/e17a05b0-c45e-11d8-9669-0800200c9a66/gouvafrique/organismes</uri>
    <uri code="3">thesaurus:/e17a05b0-c45e-11d8-9669-0800200c9a66/gouvafrique/gouvgeo</uri>
    <uri code="4">corpus:/e17a05b0-c45e-11d8-9669-0800200c9a66/gouvafrique/dph</uri>
</uri-codes>

DTD

<!ELEMENT uri-codes (uri*)>
 
<!ELEMENT uri (#PCDATA)>
  <!ATTLIST uri code NMTOKEN #REQUIRED>
serveurscrutari/config/uricodes.txt · Dernière modification: 2016/07/18 11:24 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0