Un nom clé est un nom PAM dont la valeur est définie à “?iskey”. Cette valeur système (aussi nommée racine parente / système) permet aux modules de référence un nom PAM comme ayant à posteriori des enfants.

Utilisation pour l’Import / Export de formats

La fonctionnalité racine parente est surtout utilisée par les modules importants ou exportants des formats particuliers, comme du wL, wS ou JSON.

Par exemple, lors de la lecture du fichier wS suivant :

{ 'enTête' : { 'version' : 1.0 ; 'auteur' : 'wilhelm43' } }

Le module wS sauvegardera les données ainsi :

# Note : “*” représente le nom de sauvegarde choisi

*        = ?iskey
*.enTête = ?iskey
*.enTête.version = 1.0
*.enTête.auteur  = wilhelm43

Exporter le nom “*” avec ce moteur PAM vers un format d’export d’un module référencé :

# Moteur PAM
*        = ?iskey
*.enTête = ?iskey
*.enTête.version = 1.0
*.enTête.auteur  = wilhelm43

Résultera au fichier original, soit :

{ 'enTête' : { 'version' : 1.0 ; 'auteur' : 'wilhelm43' } }

Exporter le nom “*” avec ce moteur PAM vers un format d’export d’un module référencé :

# Moteur PAM
*        = ?iskey
*.enTête = vide
*.enTête.version = 1.0
*.enTête.auteur  = wilhelm43

Résultera en :

{ 'enTête' : 'vide' }

<aside> <img src="/icons/info-alternate_blue.svg" alt="/icons/info-alternate_blue.svg" width="40px" />

En modifiant un nom PAM défini par une racine parente, l’export ne prendra plus en compte les enfants de ce nom PAM.

De même, il est impossible d’exporter un nom PAM qui n’est pas une racine parente.

</aside>

Utilisations par les modules

Les modules sauvegardant plusieurs données dans le moteur PAM sans choix du nom, comme le module Runtime, utilisent des noms clés pour permettre l’export de leurs résultats.