Fichier attributes.xml : définir les attributs utilisés

Le format ScrutariData permet d'associer des attributs à une fiche avec la liberté d'indiquer la clé de l'attribut. Encore faut-il configurer le moteur Scrutari pour qu'il sache quoi faire avec ces attributs. C'est le rôle du fichier attributes.xml.

Dans ce fichier, les attributs sont regroupés par groupe désignés par un nom. Scrutari considère trois groupes avec les noms suivants :

  • primary : attributs du premier groupe, considérés comme « supérieurs » aux champs complémentaires : ils seront placés avant eux
  • secondary : attributs du second groupe, placés après les champs complémentaires
  • technical : attributs techniques qui sont pas traités comme du texte, les recherches ne portent pas dessus mais ils peuvent servir pour des filtres

Le moteur Scrutari propose des attributs prédéfinis avec l'espace de nom ns, avec leurs libellés dans plusieurs langues :

  • sct:authors : auteurs d'un document (cet attribut est typiquement placé dans le premier groupe)
  • sct:tags : mots-clés libres
  • sct:thumbnail : URL d'une image servant de vignette pour la fiche (cet attribut est typiquement placé dans le groupe des attributs techniques)
  • sct:website : site web vers lequel renvoie la fiche (par exemple, la fiche d'un organisme)

Ils ne sont cependant pas inclus par défaut. Il faut les indiquer spécifiquement (le moteur propose des libellés par défaut qui peuvent être modifiés). Il faut considérer ces attributs prédéfinis comme des suggestions, l'utilisation d'attributs communs permettant la réutilisation d'un fichier au format ScrutariData d'un moteur Scrutari à un autre.

Outre son nom, il est possible d'indiquer le libellé de l'attribut dans différentes langues et son format. Le format sert surtout pour indiquer le mode d'affichage à utiliser de préférence pour les valeurs pour les attributs. L'impact d'un format est surtout visible pour les attributs multi-valués (avec plusieurs valeurs)

Les formats possibles sont les suivants :

  • inline : les valeurs sont disposés sur une même ligne, séparé par une virgule (exemple des auteurs), c'est le mode par défaut
  • list : les valeurs sont disposés sous la forme d'une liste à puce (par exemple, une liste d'URLs complémentaires)
  • block : les valeurs sont disposés sous la forme de paragraphes disctincts, le format block est une indication que le contenu de l'attribut peut être conséquent (par exemple, le résumé d'un document)

Structure du format XML

L'élément racine est l'élément <attributes>, il contient un ou plusieurs éléments <group>. Un élément <group> possède l'attribut @name qui est le nom du groupe et contient un ou plusieurs élements <attr-def> qui sont les définitions des attributs.

Un élément <attr-def> possède deux attributs : @ns l'espace de noms de l'attribut et @key la clé locale de l'attribut (la clé complète de l'attribut est consitué de l'espace de noms et de la clé locale). Il peut contenir un ou plusieurs élements <label> qui sont les libellés de l'attribut dans différentes langues. Il peut contenir un élément <format> pour indiquer le format de l'attribut, cet élément ayant par ailleurs un seul attribut @type qui doit avoir comme valeur inline, list ou block.

Exemple

L'exemple suivant est celui d'une base de films. L'attribut sct:authors est activé dans le premier groupe avec un libellé renommé en sct:authors, un autre attribut est présent dans le premier groupe pour porter l'information du producteur. Le second groupe comprend un attribut cine:resume correspondant au résumé, comme il peut faire plusieurs paragraphes, son format est de type block. Enfin, l'attribut sct:thumbail est activé, son contenu sera l'URL d'une vignette reprenant l'affiche du film.

<attributes>
    <group name="primary">
  <attr-def ns="sct" key="authors">
      <label xml:lang="fr">Réalisateurs</label>
  </attr-def>
        <attr-def ns="cine" key="producteurs">
     <label xml:lang="fr">Producteurs</label>
  </attr-def>
    </group>
    <group name="secondary">
        <attr-def ns="cine" key="resume">
            <format type="block"/>
            <label xml:lang="fr">Résumé</label>
        </attr-def>
    </group>
    <group name="technical">
        <attr-def ns="sct" key="thumbnail"/>
    </group>
</attributes>

DTD

<!ELEMENT attributes (group*)>
 
<!ELEMENT group (attr-def*)>
   <!ATTLIST group name NMTOKEN #REQUIRED>
 
<!ELEMENT attr-def (format?|label*)>
   <!ATTLIST attr-def ns NMTOKEN #REQUIRED>
   <!ATTLIST attr-def key NMTOKEN #REQUIRED>
 
<!ELEMENT format (EMPTY)>
   <!ATTLIST format type NMTOKEN #REQUIRED>
 
<!ELEMENT label (#PCDATA)>
   <!ATTLIST label xml:lang NMTOKEN #REQUIRED>
serveurscrutari/config/attributes.txt · Dernière modification: 2017/11/02 11:54 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0