<!--
====================================================================
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
        blindid CDATA #IMPLIED
        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
>
