This is an old revision of the document!
registerStudent(ident uid, ident id, ident studentId) {
assume exists //exercises/exercise[id];
assume //exercises/exercise[id]/open && exists //accounts/account[uid]/student && //accounts/account[uid]/student/id = studentId ||
exists //accounts/account[uid]/assistant[id]; # the right management can't come first here
assume not exists //exercises/exercise[id]/students/student[studentId];
insert //exercises/exercise[id]/students <student id=[studentId] />;
}