<!--
====================================================================
registry.stanford.edu/CourseClass.dtd
registry.stanford.edu/xml/courseclass/1.0/campcomm/CourseClass.dtd
version 1.0, 11/01/2007

DTD for the Stanford University Registry CourseClass

Copyright  2007 by the Board of Trustees of Stanford University
====================================================================
11/01/07 molive created campcomm specific CourseClass DTD
====================================================================
-->

<!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 class (equivalent*, owner*, section*)>
<!ATTLIST class
	offering CDATA #REQUIRED
	id CDATA #REQUIRED
	term CDATA #REQUIRED
	subject CDATA #REQUIRED
	catalognum CDATA #REQUIRED
>
<!ELEMENT equivalent EMPTY>
<!ATTLIST equivalent
        term CDATA #REQUIRED
	courseid CDATA #REQUIRED
	offering CDATA #REQUIRED
>
<!ELEMENT owner (organization)>
<!ATTLIST owner
	percent CDATA #REQUIRED
>
<!ELEMENT organization (#PCDATA)>
<!ATTLIST organization
	acadid CDATA #REQUIRED
>
<!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 component (#PCDATA)>
<!ATTLIST component
	code CDATA #REQUIRED
	value CDATA #REQUIRED
>
<!ELEMENT attribute (#PCDATA)>
<!ATTLIST attribute
	type CDATA #REQUIRED
	code CDATA #REQUIRED
>
<!ELEMENT note (#PCDATA)>
<!ATTLIST note
	number CDATA #IMPLIED
>
<!ELEMENT meeting (instructor*, location?, schedule?)>
<!ATTLIST meeting
	number 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 schedule EMPTY>
<!ATTLIST schedule
	startdate CDATA #REQUIRED
	stopdate CDATA #REQUIRED
	starttime CDATA #REQUIRED
	stoptime CDATA #REQUIRED
	day CDATA #IMPLIED
>
<!ELEMENT student (person)>
<!ATTLIST student
	status (enrolled | waiting | audit) #REQUIRED
>
<!ELEMENT person (#PCDATA)>
<!ATTLIST person
	univid CDATA #IMPLIED
>
