Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
serveurscrutari:config:validation [2017/01/19 19:00]
vincent créée
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. ​Deux 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 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 !!<navigation>!!, il contient des éléments !!<​mandatory>​!! et des éléments ​!!<​check>​!!.+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//​)
  
-Un élément //<<​mandatory>>// ​est vide et possède l'​unique attribut !!@field!! qui contient le nom du champ.+La liste des éléments disponibles ​est donc la suivante :
  
-Un élément //<check>// ​est vide et possède ​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.+  * !!<mandatory>!! : vide avec l'​unique attribut !!@field!! qui contient le nom du champ obligatoire (//geoloc// pour la géolocalisation) 
 +  * !!<​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 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 attenduUn 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 deux 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 field="​geo:​city"/>​ 
 + <unique field="​sct:​website"/>​ 
 +        <unique field="​sct:​thumbnail"/>
 </​validation>​ </​validation>​
 </​code>​ </​code>​
Ligne 35: 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)>​ 
 +   <​!ATTLIST unique field 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.1484848851.txt.gz · Dernière modification: 2017/01/19 19:00 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0