De nombreux objets et documents peuvent être numérotés. Les règles générales sont détaillées sur cette page.

Syntaxe générale

Un schéma de numérotation des constitué de texte et de variables.

Les variables sont constituées des parties suivantes :

  • Un caractère % qui indique que la suite est une variable

  • Un switch : #, ?, ! ou ~ (optionnel)

  • Un identifiant (chaîne de caractères alphanumériques commençant par une lettre)

  • Un ou deux modificateurs (optionnels)

Un identifiant de base peut être utilisé pour tous les objets :

%I

Identifiant (numérique) de l'objet

La plupart des objets peuvent utiliser des variables de date :

%Y

Année de création

%M

Mois de création

%D

Jour de création

Les autres variables sont spécifiques à l'objet numéroté.

Switches

Un switch peut être ajouté entre le caractère % et le nom d'une variable.

Les switches suivants sont disponibles :

#

Renvoie le nombre d'objets du même type créés le même jour (%#D), mois (%#M), ou année (%#Y).

!

Convertit le résultat en lettres capitales.

?

Utilisé avant une variable booléenne avec un ou deux modificateurs. Renvoie le premier modificateur si la valeur est vraie, le second sinon (exemple : %?B{O,N} renvoie O si %B est vrai, N sinon). Ne renvoie rien si la valeur est fausse et un seul modificateur est défini.

~

Convertit une valeur numérique en valeur alphanumérique.

Modificateurs

Un ou deux modificateurs peuvent être ajoutés après une variable, entre des accolades, séparés par une virgule. Les modificateurs disponibles dépendent du type de variable qu'ils suivent.

Date

Le modificateur {2} peut être utilisé après une année pour la réduire à deux chiffres (exemple : %Y{2} renvoie 17 au lieu de 2017).

Champs spécifiques à un type d'objet

Des modificateurs peuvent être utilisés pour tronquer le texte :

  • Le premier indique le nombre de caractères à renvoyer (exemple : si %V renvoie Texte, %V{3} renverra Tex). Si la chaîne de caractère est plus courte que la longueur spécifiée, elle sera complétée par des zéros (à gauche si le premier modificateur est positif, à droite sinon).

  • Le deuxième, optionnel, indique un décalage (le numéro du caractère après lequel commencer) (exemple : si %V renvoie Texte, %V{3,1} renverra ext)

Il est possible de renvoyer le texte à partir de la fin de la chaîne de caractères en définissant un décalage négatif dans le deuxième modificateur.

Valeurs numériques et alphanumériques

Les modificateurs placés après des valeurs numériques (par exemple une valeur générée par un switch # ou les identifiants %I ou %N) ont les effets suivants :

  • Le premier définit la longueur minimale du nombre renvoyé, le précédant de zéros si nécessaire. Ce nombre ne sera jamais tronqué. (exemple : si %I renvoie 4C, %I{5} renverra 0004C et %I{1} renverra 4C)

  • Le deuxième, optionnel, définit un offset (ajouté au nombre) (exemple : si %N renvoie 234, %N{4,5300} renverra 5534).

Il est possible d'ajouter des zéros après un nombre en définissant une longueur maximale négative dans le premier modificateur.