Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveurscrutari:config:fields [2017/11/04 14:12]
vincent
serveurscrutari:config:fields [2020/10/25 11:12] (Version actuelle)
vincent [Structure du format XML]
Ligne 5: Ligne 5:
 Effectuer la configuration du côté serveur avec //​fields.xml//​ simplifie la construction de la requête côté client, offre des possibilités de configuration plus vastes et permet de modifier le comportement par défaut. Effectuer la configuration du côté serveur avec //​fields.xml//​ simplifie la construction de la requête côté client, offre des possibilités de configuration plus vastes et permet de modifier le comportement par défaut.
  
-Le fichier //​fields.xml//​ permet de définir des « variantes ». Chaque variante a un nom, il suffit d'​indiquer ce nom dans le paramètre //​fieldvariant//​ disponible dans [[serveurscrutari:​json:​type_fiche|type = fiche]], [[serveurscrutari:​json:​type_qfiche|type = q-fiche]] et [[serveurscrutari:​json:​type_geojson|type = geojson]] pour indiquer la variante à utiliser. ​Trois variantes sont définies par défaut dans le logiciel avec les noms suivants :+Le fichier //​fields.xml//​ permet de définir des « variantes ». Chaque variante a un nom, il suffit d'​indiquer ce nom dans le paramètre //​fieldvariant//​ disponible dans [[serveurscrutari:​json:​type_fiche|type = fiche]], [[serveurscrutari:​json:​type_qfiche|type = q-fiche]] et [[serveurscrutari:​json:​type_geojson|type = geojson]] pour indiquer la variante à utiliser. ​Quatre ​variantes sont définies par défaut dans le logiciel avec les noms suivants :
  
   * //data// : variante utilisée pour [[serveurscrutari:​json:​type_fiche|type = fiche]]   * //data// : variante utilisée pour [[serveurscrutari:​json:​type_fiche|type = fiche]]
   * //query// : variante utilisée pour [[serveurscrutari:​json:​type_qfiche|type = q-fiche]]   * //query// : variante utilisée pour [[serveurscrutari:​json:​type_qfiche|type = q-fiche]]
   * //geo// : variante utilisée pour [[serveurscrutari:​json:​type_qfiche|type = geojson]]   * //geo// : variante utilisée pour [[serveurscrutari:​json:​type_qfiche|type = geojson]]
 +  * //empty// : aucun champ mis à part le code de la fiche ou du mot-clé
  
 Il suffit de définir dans //​fields.xml//​ des variantes avec le nom d'une variante par défaut pour la remplacer. Il suffit de définir dans //​fields.xml//​ des variantes avec le nom d'une variante par défaut pour la remplacer.
Ligne 16: Ligne 17:
 ===== Structure du format XML ===== ===== Structure du format XML =====
  
-L'​élément racine est l'​élément !!<​fields>​!!. Il peut contenir un nombre illimité d'​éléments !!<​variant>​!!,​ celui-ci doit posséde un attribut obligatoire,​ !!@name!!, qui est le nom de la variante. Le nom de la variante doit être un nom « technique », c'est à dire composé uniquement de minuscules non accentuées,​ de chiffres et du trait de soulignement ​//_//.+L'​élément racine est l'​élément !!<​fields>​!!. Il peut contenir un nombre illimité d'​éléments !!<​variant>​!!,​ celui-ci doit posséde un attribut obligatoire,​ !!@name!!, qui est le nom de la variante. Le nom de la variante doit être un nom « technique », c'est à dire composé uniquement de minuscules non accentuées,​ de chiffres et du souligné ​//_//.
  
 Un élément !!variant!! possède les élements suivants : Un élément !!variant!! possède les élements suivants :
  
-  * !!<​fiche>​!! : optionnel et unique, il possède un attribut @fields destiné à recevoir un contenu identique au paramètre //​fichefields//​ tel que décrit dans [[serveurscrutari:​json:​fiche_fields|Champs des fiches]] +  * !!<​fiche>​!! : optionnel et unique, il possède un attribut ​!!@fields!! destiné à recevoir un contenu identique au paramètre //​fichefields//​ tel que décrit dans [[serveurscrutari:​json:​fiche_fields|Champs des fiches]] 
-  * !!<​motcle>​!! : optionnel et unique, il possède un attribut @fields destiné à recevoir un contenu identique au paramètre //​motclefields//​ tel que décrit dans [[serveurscrutari:​json:​mtocle_fields|Champs des mots-clés]] +  * !!<​motcle>​!! : optionnel et unique, il possède un attribut ​!!@fields!! destiné à recevoir un contenu identique au paramètre //​motclefields//​ tel que décrit dans [[serveurscrutari:​json:​motcle_fields|Champs des mots-clés]] 
-  * !!<​alias!! : en nombre illimité, permet de renommer un champ, voire de construire un champ concaténant des champs existants, il possède trois attributs : +  * !!<alias>!! : en nombre illimité, permet de renommer un champ, voire de construire un champ concaténant des champs existants, il possède trois attributs : 
-    * !!@name!! : obligatoire,​ nom du nouveau champ, le nom est libre mais on évitera de le commencer par //_// (//_// préfixe les champs calculés dans ScrutariJs)+    * !!@name!! : obligatoire,​ nom du nouveau champ, le nom est libre mais on évitera de le commencer par un souligné « //_// » (//_// préfixe les champs calculés dans ScrutariJs)
     * !!@fields!! : obligatoire,​ liste des champs composant le nouveau champ, il est similaire à l'​attribut //@fields// de l'​élément //<​fiche>//​     * !!@fields!! : obligatoire,​ liste des champs composant le nouveau champ, il est similaire à l'​attribut //@fields// de l'​élément //<​fiche>//​
     * !!@separator!! : optionnel, il indique le séparateur à utiliser si le nouveau champ est composé de plusieurs valeurs     * !!@separator!! : optionnel, il indique le séparateur à utiliser si le nouveau champ est composé de plusieurs valeurs
  
 +
 +==== Exemple ====
 +
 +L'​exemple suivant montre les valeurs des trois variantes définies par défaut (//data//, //query//, //geo//).
 +
 +<code xml>
 +<​fields>​
 + <​variant name="​data">​
 + <fiche fields="​codecorpus,​titre,​soustitre,​complements,​year,​href,​icon"/>​
 + <​motcle fields="​labels"/>​
 + </​variant>​
 + <​variant name="​query">​
 + <fiche fields="​codecorpus,​mtitre,​msoustitre,​mattrs_all,​attrs,​mcomplements,​year,​href,​icon"/>​
 + <​motcle fields="​mlabels"/>​
 + </​variant>​
 + <​variant name="​geo">​
 + <fiche fields="​-codefiche"/>​
 + <​motcle fields="​labels"/>​
 + <alias name="​name"​ fields="​titre"/>​
 + <alias name="​url"​ fields="​href"/>​
 + </​variant>​
 + <​variant name="​empty">​
 + </​variant>​
 +</​fields>​
 +</​code>​
 +
 +Un autre exemple avec des alias sur les attributs. Un alias sur un attribut est particulièrement utile si l'​attribut est unique : il permet d'​accéder à la valeur plus facilement (par exemple, //​fiche.website//​ plutôt que //​fiche.attrMap["​sct:​website"​][0]//​)
 +
 +<code xml>
 +<​fields>​
 + <​variant name="​export">​
 + <fiche fields="​-codefiche"/>​
 + <​motcle fields="​labels"/>​
 + <alias name="​name"​ fields="​titre"/>​
 + <alias name="​description"​ fields="​soustitre"/>​
 + <alias name="​url"​ fields="​href"/>​
 + <alias name="​website"​ fields="​sct:​website"/>​
 + <alias name="​thumbnail"​ fields="​sct:​thumbnail"/>​
 + </​variant>​
 +</​fields>​
 +</​code>​
 +
 +===== DTD =====
 +
 +<code xml>
 +<​!ELEMENT fields (variant?​)>​
 +
 +<​!ELEMENT variant (fiche?​|motcle?​|alias*)>​
 +   <​!ATTLIST variant name NMTOKEN #​REQUIRED>​
 +   
 +<​!ELEMENT fiche EMPTY>
 +   <​!ATTLIST fiche fields NMTOKEN #​REQUIRED>​
 +
 +<​!ELEMENT motcle EMPTY>
 +   <​!ATTLIST motcle fields NMTOKEN #​REQUIRED>​
 +   
 +<​!ELEMENT alias EMPTY>
 +   <​!ATTLIST alias
 +        name NMTOKEN #REQUIRED
 +        fields NMTOKEN #REQUIRED
 +        separator NMTOKEN #IMPLIED
 +   >
 +
 +</​code>​
  
serveurscrutari/config/fields.1509801166.txt.gz · Dernière modification: 2017/11/04 14:12 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0