packages feed

weekdaze-0.0.0.1: dtd/studentViewTimetable.dtd

<?xml version="1.0" encoding="UTF-8"?>
<!--
	AUTHOR: Dr. Alistair Ward

	Copyright (C) 2013 Dr. Alistair Ward

	This file is part of WeekDaze.

	WeekDaze is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	WeekDaze is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with WeekDaze.  If not, see <http://www.gnu.org/licenses/>.
-->
<!ELEMENT timetable (observerIdToTimetableAssociation)+>	<!-- The single root of the configuration -->
	<!ELEMENT observerIdToTimetableAssociation (observerId, timetableForWeek)>	<!-- Each observer has their own timetable, covering one week -->
		<!ELEMENT observerId (studentBody)>	<!-- Defines whose timetable for one week, this is -->
			<!ELEMENT studentBody (student)+>	<!-- A set of "student"s with identical profiles; i.e. identical availability, skills & requirements -->
				<!ATTLIST studentBody mnemonic ID #REQUIRED>	<!-- The unique string (composed entirely from alphanumeric characters) identifying the student-body -->
				<!ELEMENT student EMPTY>
					<!ATTLIST student studentId ID #REQUIRED>	<!-- The unique string (composed entirely from alphanumeric characters) identifying a member of the "studentBody" -->
			<!ELEMENT timetableForWeek (dayToTimetableAssociation)+>
				<!ELEMENT dayToTimetableAssociation (day, timetableForDay)>
					<!ELEMENT day EMPTY>
						<!ATTLIST day value (Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday) #REQUIRED>	<!-- A day within any week; there's no concept of different months or years -->
					<!ELEMENT timetableForDay (booking)+> 
						<!ELEMENT booking (lesson)?>	<!-- A rendezvous defined in the timetable, by a "lesson" @ a specific "time" -->
							<!ATTLIST booking timeslotId CDATA #REQUIRED>
							<!ELEMENT lesson (studentViewLessonResourceIds, subject)>	<!-- An arrangement between a "teacher" & a "student-class", to teach a specific "course", @ a "location" -->
								<!ELEMENT studentViewLessonResourceIds EMPTY>
									<!ATTLIST studentViewLessonResourceIds
										locationId	CDATA	#REQUIRED
										teacherId	CDATA	#REQUIRED
									>
								<!ELEMENT subject EMPTY>	<!-- A subject offered by a "teacher" & potentially required by "student"s -->
									<!ATTLIST subject
										level	CDATA	#REQUIRED
										topic	CDATA	#REQUIRED
									>