This is an old revision of the document!
This page describes a minor part of the STAT System XCend Schema, namely the exercise groups.
element groups {
element group * id { [ count(./id, ..exercise/students/student/group) < ./maxSize ]
attribute day { "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday" }
attribute time { string }
attribute location { string }
attribute maxSize { integer [ . >= 0 ]}
element tutor * account {[ exists //accounts/account[./account] ]}
}
}
changeAttributes(ident uid, ident id, ident groupId, string day, string time, string location, integer maxSize) {
assume exists /account[uid]/assistant[id];
assume exists /exercise[id]/group[groupId]; # implicitly true in OO implementations
assume maxSize >= 0;
assume /exercise[id]/group[groupId]/curSize <= maxSize;
update /exercise[id]/group[groupId]/day day;
update /exercise[id]/group[groupId]/time time;
update /exercise[id]/group[groupId]/location location;
update /exercise[id]/group[groupId]/maxSize maxSize;
}