<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="course_class.dtd" xmlns:wmh="http://www.wmhelp.com/2003/eGenerator" elementFormDefault="qualified" targetNamespace="course_class.dtd">
  <xs:element name="course_class">
    <xs:annotation>
      <xs:documentation>
    DTD for course_class
</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="course" minOccurs="0"/>
        <xs:element ref="class" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:string" use="required"/>
      <xs:attribute name="source" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="course">
    <xs:annotation>
      <xs:documentation> DTD for course </xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="short_title" minOccurs="0"/>
        <xs:element ref="title" minOccurs="0"/>
        <xs:element ref="description" minOccurs="0"/>
        <xs:element ref="units_minimum" minOccurs="0"/>
        <xs:element ref="units_maximum" minOccurs="0"/>
        <xs:element ref="grading_basis" minOccurs="0"/>
        <xs:element ref="graded_component" minOccurs="0"/>
        <xs:element ref="repeat_for_credit" minOccurs="0"/>
        <xs:element ref="add_consent" minOccurs="0"/>
        <xs:element ref="drop_consent" minOccurs="0"/>
        <xs:element ref="requirement_designation" minOccurs="0"/>
        <xs:element ref="equivalent_course_group" minOccurs="0"/>
        <xs:element ref="attribute" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="course_offering" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="course_component" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:string" use="required"/>
      <xs:attribute name="term" type="xs:string" use="required"/>
      <xs:attribute name="courseid" type="xs:string" use="required"/>
      <xs:attribute name="status" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="short_title" type="xs:string"/>
  <xs:element name="title" type="xs:string"/>
  <xs:element name="description" type="xs:string"/>
  <xs:element name="units_minimum" type="xs:string"/>
  <xs:element name="units_maximum" type="xs:string"/>
  <xs:element name="grading_basis">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="graded_component">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="repeat_for_credit" type="xs:string"/>
  <xs:element name="add_consent">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="drop_consent">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="requirement_designation">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="equivalent_course_group" type="xs:string"/>
  <xs:element name="attribute">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
          <xs:attribute name="type" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="course_offering">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="academic_group" minOccurs="0"/>
        <xs:element ref="academic_career" minOccurs="0"/>
        <xs:element ref="academic_organization" minOccurs="0"/>
        <xs:element ref="requirement_group" minOccurs="0"/>
        <xs:element ref="catalog_print" minOccurs="0"/>
        <xs:element ref="print_instructor_in_schedule" minOccurs="0"/>
        <xs:element ref="schedule_print" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute name="catalognum" type="xs:string" use="required"/>
      <xs:attribute name="offering" type="xs:string" use="required"/>
      <xs:attribute name="subject" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="academic_group">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="academic_career">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="academic_organization">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="requirement_group">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="catalog_print" type="xs:string"/>
  <xs:element name="print_instructor_in_schedule" type="xs:string"/>
  <xs:element name="schedule_print" type="xs:string"/>
  <xs:element name="course_component">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="final_exam" minOccurs="0"/>
        <xs:element ref="exam_spacing" minOccurs="0"/>
        <xs:element ref="graded_component" minOccurs="0"/>
        <xs:element ref="primary_component" minOccurs="0"/>
        <xs:element ref="optional_component" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute name="code" type="xs:string" use="required"/>
      <xs:attribute name="description" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="final_exam">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="exam_spacing" type="xs:string"/>
  <xs:element name="primary_component" type="xs:string"/>
  <xs:element name="optional_component" type="xs:string"/>
  <xs:element name="class">
    <xs:annotation>
      <xs:documentation> DTD for class </xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="equivalent" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="owner" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="section" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:string" use="required"/>
      <xs:attribute name="term" type="xs:string" use="required"/>
      <xs:attribute name="subject" type="xs:string" use="required"/>
      <xs:attribute name="catalognum" type="xs:string" use="required"/>
      <xs:attribute name="offering" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="equivalent">
    <xs:complexType>
      <xs:attribute name="courseid" type="xs:string" use="required"/>
      <xs:attribute name="offering" type="xs:string" use="required"/>
      <xs:attribute name="term" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="owner">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="organization"/>
      </xs:sequence>
      <xs:attribute name="percent" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="organization">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="acadid" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="section">
    <xs:annotation>
      <xs:documentation> DTD for section </xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="session" minOccurs="0"/>
        <xs:element ref="start_date" minOccurs="0"/>
        <xs:element ref="end_date" minOccurs="0"/>
        <xs:element ref="component" minOccurs="0"/>
        <xs:element ref="event_id" minOccurs="0"/>
        <xs:element ref="class_type" minOccurs="0"/>
        <xs:element ref="associated_class" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="units" minOccurs="0"/>
        <xs:element ref="student_specific_permissions" minOccurs="0"/>
        <xs:element ref="academic_organization" minOccurs="0"/>
        <xs:element ref="academic_group" minOccurs="0"/>
        <xs:element ref="course_equivalent_course_group" minOccurs="0"/>
        <xs:element ref="class_equivalent_course_group" minOccurs="0"/>
        <xs:element ref="schedule_print" minOccurs="0"/>
        <xs:element ref="attribute" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="combined_section_id" minOccurs="0"/>
        <xs:element ref="meetings" minOccurs="0"/>
        <xs:element ref="enrollment_control" minOccurs="0"/>
        <xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="exam" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="text_book_assignment" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="associated_class" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="student" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:string" use="required"/>
      <xs:attribute name="term" type="xs:string" use="required"/>
      <xs:attribute name="classnum" type="xs:string" use="required"/>
      <xs:attribute name="enrolled" type="xs:string"/>
      <xs:attribute name="enrollment" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="no"/>
            <xs:enumeration value="yes"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="maxunits" type="xs:string"/>
      <xs:attribute name="maxenroll" type="xs:string"/>
      <xs:attribute name="minunits" type="xs:string"/>
      <xs:attribute name="session" type="xs:string"/>
      <xs:attribute name="status" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="session">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="start_date" type="xs:string"/>
  <xs:element name="end_date" type="xs:string"/>
  <xs:element name="component">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="event_id" type="xs:string"/>
  <xs:element name="class_type">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="associated_class">
    <xs:complexType mixed="true">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="academic_progress_units"/>
        <xs:element ref="course_count"/>
        <xs:element ref="fa_units"/>
        <xs:element ref="max_units"/>
        <xs:element ref="min_units"/>
        <xs:element ref="use_blind_grading"/>
        <xs:element ref="grading_basis"/>
        <xs:element ref="requirement_group"/>
      </xs:choice>
      <xs:attribute name="id" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="units" type="xs:string"/>
  <xs:element name="student_specific_permissions" type="xs:string"/>
  <xs:element name="course_equivalent_course_group" type="xs:string"/>
  <xs:element name="class_equivalent_course_group" type="xs:string"/>
  <xs:element name="combined_section_id" type="xs:string"/>
  <xs:element name="meetings">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="meeting" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="meeting">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="location" minOccurs="0"/>
        <xs:element ref="schedule" minOccurs="0"/>
        <xs:element ref="instructor" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute name="number" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="location">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="facility_id" minOccurs="0"/>
        <xs:element ref="building" minOccurs="0"/>
        <xs:element ref="room" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="facility_id">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="building">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="room" type="xs:string"/>
  <xs:element name="schedule">
    <xs:complexType>
      <xs:attribute name="code" type="xs:string" use="required"/>
      <xs:attribute name="day" type="xs:string"/>
      <xs:attribute name="startdate" type="xs:string" use="required"/>
      <xs:attribute name="starttime" type="xs:string" use="required"/>
      <xs:attribute name="stopdate" type="xs:string" use="required"/>
      <xs:attribute name="stoptime" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="instructor">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="name" minOccurs="0"/>
        <xs:element ref="schedule_print" minOccurs="0"/>
        <xs:element ref="grade_roster_access" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute name="univid" type="xs:string"/>
      <xs:attribute name="type" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="name" type="xs:string"/>
  <xs:element name="grade_roster_access">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="enrollment_control">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="class_status" minOccurs="0"/>
        <xs:element ref="enrollment_status" minOccurs="0"/>
        <xs:element ref="auto_enroll_waitlist" minOccurs="0"/>
        <xs:element ref="add_consent" minOccurs="0"/>
        <xs:element ref="drop_consent" minOccurs="0"/>
        <xs:element ref="enrollment"/>
        <xs:element ref="wait_list" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="class_status">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="enrollment_status">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="auto_enroll_waitlist" type="xs:string"/>
  <xs:element name="enrollment">
    <xs:complexType>
      <xs:attribute name="capacity" type="xs:string" use="required"/>
      <xs:attribute name="totalcapacity" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="wait_list">
    <xs:complexType>
      <xs:attribute name="capacity" type="xs:string" use="required"/>
      <xs:attribute name="totalcapacity" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="note">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="note_text" minOccurs="0"/>
        <xs:element ref="free_format_text" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute name="sequencenumber" type="xs:string" use="required"/>
      <xs:attribute name="notenumber" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="note_text" type="xs:string"/>
  <xs:element name="free_format_text" type="xs:string"/>
  <xs:element name="exam">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="exam_date" minOccurs="0"/>
        <xs:element ref="facility_id" minOccurs="0"/>
        <xs:element ref="building" minOccurs="0"/>
        <xs:element ref="room" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute name="spacing" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="exam_date">
    <xs:complexType>
      <xs:attribute name="date" type="xs:string" use="required"/>
      <xs:attribute name="examstart" type="xs:string" use="required"/>
      <xs:attribute name="examend" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="text_book_assignment">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="status" minOccurs="0"/>
        <xs:element ref="text_book_none" minOccurs="0"/>
        <xs:element ref="special_instructions" minOccurs="0"/>
        <xs:element ref="text_book" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="status">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="text_book_none" type="xs:string"/>
  <xs:element name="special_instructions" type="xs:string"/>
  <xs:element name="text_book">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="course_material_type" minOccurs="0"/>
        <xs:element ref="course_material_status" minOccurs="0"/>
        <xs:element ref="title" minOccurs="0"/>
        <xs:element ref="notes" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute name="isbn" type="xs:string"/>
      <xs:attribute name="author" type="xs:string"/>
      <xs:attribute name="publisher" type="xs:string"/>
      <xs:attribute name="edition" type="xs:string"/>
      <xs:attribute name="yearpublished" type="xs:string"/>
      <xs:attribute name="price" type="xs:string"/>
      <xs:attribute name="currency" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="course_material_type">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="course_material_status">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="notes" type="xs:string"/>
  <xs:element name="academic_progress_units" type="xs:string"/>
  <xs:element name="course_count" type="xs:string"/>
  <xs:element name="fa_units" type="xs:string"/>
  <xs:element name="max_units" type="xs:string"/>
  <xs:element name="min_units" type="xs:string"/>
  <xs:element name="use_blind_grading" type="xs:string"/>
  <xs:element name="student">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="academic_career" minOccurs="0"/>
        <xs:element ref="academic_program" minOccurs="0"/>
        <xs:element ref="course_career" minOccurs="0"/>
        <xs:element ref="name" minOccurs="0"/>
        <xs:element ref="add_date" minOccurs="0"/>
        <xs:element ref="units_earned" minOccurs="0"/>
        <xs:element ref="units_taken" minOccurs="0"/>
        <xs:element ref="grading_basis" minOccurs="0"/>
        <xs:element ref="class_permission_number" minOccurs="0"/>
        <xs:element ref="student_grade_points" minOccurs="0"/>
        <xs:element ref="grades" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute name="univid" type="xs:string"/>
      <xs:attribute name="status" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="enrolled"/>
            <xs:enumeration value="waiting"/>
            <xs:enumeration value="audit"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="academic_program">
    <xs:complexType>
      <xs:attribute name="code" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="course_career">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="code" type="xs:string" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="add_date" type="xs:string"/>
  <xs:element name="units_earned" type="xs:string"/>
  <xs:element name="units_taken" type="xs:string"/>
  <xs:element name="class_permission_number" type="xs:string"/>
  <xs:element name="student_grade_points" type="xs:string"/>
  <xs:element name="grades" type="xs:string"/>
</xs:schema>