Définition de schéma d'un fichier d'aide-mémoire composite. Un aide-mémoire composite comprend un ensemble de tâches organisées en groupes de tâches. Chaque tâche peut être un simple aide-mémoire ou un type de tâche ajoutée par l'utilisateur.
<!ELEMENT compositeCheatsheet (taskGroup | task)>
<!ATTLIST compositeCheatsheet
name CDATA #REQUIRED>
Elément racine d'un aide-mémoire composite
<!ELEMENT taskGroup ((task | taskGroup) , intro? , onCompletion? , dependency*)>
<!ATTLIST taskGroup
kind CDATA "set"
name CDATA #REQUIRED
id CDATA #IMPLIED
skip (true | false) "false">
Un groupe de tâches représente un ensemble de Tâches connexes. Si le type est "choice", une seule tâche enfant doit être exécutée. Si le type est "set" ou "sequence", toutes les tâches enfant doivent être exécutées.
<!ELEMENT task (intro? , onCompletion? , param* , dependency*)>
<!ATTLIST task
kind CDATA #REQUIRED
name CDATA #REQUIRED
id CDATA #IMPLIED
skip (true | false) "false">
Tâche seule dans un aide-mémoire composite. Une tâche ne comporte pas d'enfants, mais dispose d'un éditeur de tâches qui s'affiche dans la sous-fenêtre située en bas à droite de la vue de l'aide-mémoire. La tâche détermine quel éditeur de tâches s'ouvrira. Une tâche de type "cheatsheet" représente un aide-mémoire simple. D'autres types de tâche peuvent être ajoutés.
<!ELEMENT param EMPTY>
<!ATTLIST param
name CDATA #REQUIRED
value CDATA #REQUIRED>
Paramètre attribué à une tâche dans un aide-mémoire composite. A chaque paramètre sont associés un nom et une valeur, représentant tous deux une chaîne. Une tâche peut avoir un nombre de paramètres illimité. Cependant, deux paramètres d'une même tâche peuvent ne pas porter le même nom.
<!ELEMENT intro (#PCDATA)>
Contient le texte qui s'affiche avant le démarrage de cette tâche. Il peut contenir un marquage de texte de format.
<!ELEMENT onCompletion (#PCDATA)>
Contient le texte qui s'affiche dans la sous-fenêtre de fin de cette tâche. Il peut contenir un marquage de texte de format.
<!ELEMENT dependency EMPTY>
<!ATTLIST dependency
task CDATA #REQUIRED>
Crée une dépendance entre deux tâches ou sous-tâches.