Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
serveurscrutari:config:validation [2023/03/05 18:35] vincent [Fichier validation.xml : définir quelques règles de validation des données] |
serveurscrutari:config:validation [2023/03/05 23:07] (Version actuelle) vincent [DTD] |
||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
* //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) | ||
* //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) | * //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> | ||