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