<!--
====================================================================
registry.stanford.edu/CourseClass.dtd
version .9a, 06/06/2002

DTD for the Stanford University Registry CourseClass

Copyright  2002 by the Board of Trustees of Stanford University
====================================================================
06/25/02 lmcrae  Made DAY optional in <schedule>
06/18/02 lmcrae  Made section, location and schedule optional
06/14/02 lmcrae  Change occurence specifications for <equivalent> and <owner>
06/06/02         Add 'audit' to status attribute of student element
====================================================================
-->

<!ELEMENT CourseClass (#PCDATA | class)*>
<!ATTLIST CourseClass
	id CDATA #REQUIRED
	title CDATA #REQUIRED
	shorttitle CDATA #REQUIRED
	term CDATA #REQUIRED
        courseid CDATA #REQUIRED
	source CDATA #REQUIRED
>
<!ELEMENT attribute (#PCDATA)>
<!ATTLIST attribute
	type CDATA #REQUIRED
	code CDATA #REQUIRED
>
<!ELEMENT class (equivalent*, owner*, section*)>
<!ATTLIST class
	offering CDATA #REQUIRED
	id CDATA #REQUIRED
	term CDATA #REQUIRED
	subject CDATA #REQUIRED
	catalognum CDATA #REQUIRED
>
<!ELEMENT component (#PCDATA)>
<!ATTLIST component
	code CDATA #REQUIRED
	value CDATA #REQUIRED
>
<!ELEMENT instructor (person)>
<!ATTLIST instructor
	type (primary | secondary | ta) #REQUIRED
>
<!ELEMENT location (#PCDATA)>
<!ATTLIST location
	id CDATA #REQUIRED
	building CDATA #REQUIRED
	room CDATA #IMPLIED
>
<!ELEMENT meeting (instructor*, location?, schedule?)>
<!ATTLIST meeting
	number CDATA #REQUIRED
>
<!ELEMENT note (#PCDATA)>
<!ATTLIST note
	number CDATA #IMPLIED
>
<!ELEMENT equivalent EMPTY>
<!ATTLIST equivalent
        term CDATA #REQUIRED
	courseid CDATA #REQUIRED
	offering CDATA #REQUIRED
>
<!ELEMENT organization (#PCDATA)>
<!ATTLIST organization
	regid CDATA #IMPLIED
	adminid CDATA #IMPLIED 
	acadid CDATA #REQUIRED
>
<!ELEMENT owner (organization)>
<!ATTLIST owner
	percent CDATA #REQUIRED
>
<!ELEMENT person (#PCDATA)>
<!ATTLIST person
	regid CDATA #IMPLIED
	sunetid CDATA #IMPLIED
	univid CDATA #IMPLIED
>
<!ELEMENT schedule EMPTY>
<!ATTLIST schedule
	startdate CDATA #REQUIRED
	stopdate CDATA #REQUIRED
	starttime CDATA #REQUIRED
	stoptime CDATA #REQUIRED
	day CDATA #IMPLIED
>
<!ELEMENT section (component, attribute*, note*, meeting*, student*)>
<!ATTLIST section
	id CDATA #REQUIRED
	classnum CDATA #REQUIRED
	status CDATA #REQUIRED
	enrollment (no | yes) #REQUIRED
	enrolled CDATA #IMPLIED
	maxenroll CDATA #IMPLIED
	minunits CDATA #IMPLIED
	maxunits CDATA #IMPLIED
>
<!ELEMENT student (person)>
<!ATTLIST student
	status (enrolled | waiting | audit) #REQUIRED
>
