packages feed

weekdaze-0.0.0.1: dtd/locationViewTimetable.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 EMPTY >
			<!ATTLIST observerId locationId ID #REQUIRED >	<!-- Defines which timetable for one week, this is -->
		<!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 (locationViewLessonResourceIds, subject)>	<!-- An arrangement between a "teacher" & a "student-class", to teach a specific "course", @ a "location" -->
							<!ELEMENT locationViewLessonResourceIds (studentClass)>
								<!ATTLIST locationViewLessonResourceIds teacherId CDATA #REQUIRED>
								<!ELEMENT studentClass (studentBody)+>
									<!ELEMENT studentBody (student)+>	<!-- A set of "student"s with identical profiles; i.e. identical availability, skills & requirements -->
										<!ATTLIST studentBody mnemonic CDATA #REQUIRED>
										<!ELEMENT student EMPTY>
											<!ATTLIST student studentId CDATA #REQUIRED>
							<!ELEMENT subject EMPTY>	<!-- A subject offered by a "teacher" & potentially required by "student"s -->
								<!ATTLIST subject
									topic	CDATA	#REQUIRED
									level	CDATA	#REQUIRED
								>