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:validation [2017/11/02 11:39]
vincent
serveurscrutari:config:validation [2023/03/05 23:07] (Version actuelle)
vincent [DTD]
Ligne 1: Ligne 1:
 ====== Fichier validation.xml : définir quelques règles de validation des données====== ====== Fichier validation.xml : définir quelques règles de validation des données======
  
-Le fichier validation.xml permet de définir des règles de validation qui vont s'​appliquer au contenu des fiches. ​Trois règles sont disponibles :+Le fichier validation.xml permet de définir des règles de validation qui vont s'​appliquer au contenu des fiches. ​Cinq règles sont disponibles :
  
   * //​mandatory//​ : vérifie qu'un champ est présent et ne conserve pas la fiche s'il est absent (ne s'​applique qu'à la géolocalisation pour le moment)   * //​mandatory//​ : vérifie qu'un champ est présent et ne conserve pas la fiche s'il est absent (ne s'​applique qu'à la géolocalisation pour le moment)
-  * //check// : vérifie la longueur d'une chaine de caractères et la coupe si nécessaire (ne s'​applique qu'au sous-titre pour le moment) +  * //length// : vérifie la longueur d'une chaine de caractères et la coupe si nécessaire (ne s'​applique qu'au sous-titre pour le moment) 
-  * //unique// : ne conserver ​que la première valeur ​d'un attribut+  * //unique// : ne conserve ​que la première valeur ​(ne s'applique qu'aux attributs) 
 +  * //format// : vérifie le format des valeurs (ne s'​applique qu'aux attributs) 
 +  * //split// : découpe des valeurs trop longues (ne s'​applique qu'aux attributs)
  
 ===== Structure du format XML ===== ===== Structure du format XML =====
  
-L'​élément racine est l'​élément !!<​validation>​!!,​ il contient les éléments ​suivants en nombre illimité ​:+L'​élément racine est l'​élément !!<​validation>​!!. Il contient des éléments dont le nom reprenne ceux des cinq règles édictées ci-dessus. Tous ces éléments nécessite un attribut !!@field!! qui est le nom du champ sur lequel s'​applique la règle. Les noms de champs acceptés sont : 
 +  * //​soustitre//​ : champ « Sous-titre » 
 +  * //geoloc// : champ « géolocalisation » 
 +  * //​namespace:​localkey//:​ le nom complet de l'​attribut (pour des raisons historiques, il est également possible d'​indiquer le nom avec deux attributs !!@ns!! contenant la valeur de //​namespace//​ et !!@key!! contenant la valeur de //​localkey//​) 
 + 
 +La liste des éléments ​disponibles est donc la suivante ​:
  
   * !!<​mandatory>​!! : vide avec l'​unique attribut !!@field!! qui contient le nom du champ obligatoire (//geoloc// pour la géolocalisation)   * !!<​mandatory>​!! : vide avec l'​unique attribut !!@field!! qui contient le nom du champ obligatoire (//geoloc// pour la géolocalisation)
-  * !!<check>!! : vide avec trois attributs : !!@field!! le nom du champ, !!@min!! la taille minimale de conservation,​ !!@max!! la taille maximale (quand une chaine est plus grande que //@min//, elle est coupée avant //@max// à un signe de fin de phrase s'il existe. +  * !!<length>!! : vide avec trois attributs : !!@field!! le nom du champ, !!@min!! la taille minimale de conservation,​ !!@max!! la taille maximale (quand une chaine est plus grande que //@min//, elle est coupée avant //@max// à un signe de fin de phrase s'il existe ​(l'​ancien nom <​check>​ est accepté) 
-  * !!<​unique>​!! ! vide avec deux attributs : !!@ns!! l'espace ​de nom de l'attribut ​et !!@key!! la clé locale+  * !!<​unique>​!! ​: vide avec l'​unique attribut ​!!@field!! qui contient le nom du champ qui doit avoir une seule valeur 
 +  * !!<​format>​!! : vide avec deux attributs : !!@field!! le nom du champ et !!@type!!, le type de format de données attendu. Un seul type de données est disponible pour le moment : //url// indiquant que la valeur doit être une URL valide 
 +  * !!<​split>​!! : vide avec trois attributs : !!@field!! le nom du champ, !!@near!! l'index qui sert de point de départ pour chercher la bonne coupure (un point suivi d'une espace) (par défaut : 350) et !!@threshold!! le seuil à partir duquel une coupure est réalisée (supérieur à !!@near!!, par défaut 500)
  
 ===== Exemple ===== ===== Exemple =====
  
-Ce fichier indique ​les trois règles ​prises en compte pour le moment :+Ce fichier indique ​lesrègles ​prises en compte pour le moment :
  
 <code xml> <code xml>
 <​validation>​ <​validation>​
  <​mandatory field="​geoloc"/>​  <​mandatory field="​geoloc"/>​
- <check field="​soustitre"​ min="​150"​ max="​250"/>​ + <length ​field="​soustitre"​ min="​150"​ max="​250"/>​ 
-        <​unique ​ns="geo" key="city"/>​ +        <​unique ​field="geo:city"/>​ 
- <​unique ​ns="sct" key="website"/>​ + <​unique ​field="sct:website"/>​ 
-        <​unique ​ns="sct" key="thumbnail"/>​+        <​unique ​field="sct:thumbnail"/>​
 </​validation>​ </​validation>​
 </​code>​ </​code>​
Ligne 39: Ligne 48:
    <​!ATTLIST mandatory field NMTOKEN #​REQUIRED>​    <​!ATTLIST mandatory field NMTOKEN #​REQUIRED>​
        
-<​!ELEMENT ​check (EMPTY)>​ +<​!ELEMENT ​length ​(EMPTY)>​ 
-   <​!ATTLIST ​check field NMTOKEN #​REQUIRED>​ +   <​!ATTLIST ​length ​field NMTOKEN #​REQUIRED>​ 
-   <​!ATTLIST ​check min NMTOKEN #​REQUIRED>​ +   <​!ATTLIST ​length ​min NMTOKEN #​REQUIRED>​ 
-   <​!ATTLIST ​check max NMTOKEN #​REQUIRED>​+   <​!ATTLIST ​length ​max NMTOKEN #​REQUIRED>​
        
 <​!ELEMENT unique (EMPTY)> <​!ELEMENT unique (EMPTY)>
-   <​!ATTLIST unique ​ns NMTOKEN #​REQUIRED>​ +   <​!ATTLIST unique ​field NMTOKEN #REQUIRED
-   <​!ATTLIST ​unique key NMTOKEN #​REQUIRED>​+    
 +<​!ELEMENT format (EMPTY)
 +   <​!ATTLIST ​format field NMTOKEN #REQUIRED
 +   <​!ATTLIST format type NMTOKEN #​REQUIRED>​ 
 +    
 +<​!ELEMENT split (EMPTY)>​ 
 +   <​!ATTLIST split field NMTOKEN #​REQUIRED>​ 
 +   <​!ATTLIST split near NMTOKEN>​ 
 +   <​!ATTLIST split treshold NMTOKEN>
  
 </​code>​ </​code>​
  
serveurscrutari/config/validation.1509619196.txt.gz · Dernière modification: 2017/11/02 11:39 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0