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é.
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.
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.
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).
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)
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).