<!--
		SIF Implementation Specification (Australia) 3.4.3


		(April 5, 2018)
		
		Infrastructure Version: v3
	-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sifassociation.org/datamodel/au/3.4" targetNamespace="http://www.sifassociation.org/datamodel/au/3.4" elementFormDefault="qualified" version="3.4.3">
  <xs:complexType name="SchoolCourseInfoType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating>Low</privacyRating>
      </xs:appinfo>
      <xs:documentation>This object is for course information.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" minOccurs="0" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The ID (GUID) that identifies the school where the course is offered.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SchoolLocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The locally-assigned identifier for this school/campus.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SchoolYear" minOccurs="0" nillable="true" type="SchoolYearType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>
        School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g. 2007).
      </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TermInfoRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>
        The ID (GUID) that uniquely identifies this TermInfo (reportable time period).
        Either SchoolYear or TermInfoRefId must be provided.
      </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CourseCode" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>School-defined local code for the course.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StateCourseCode" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>State-defined standard course code used to report information about courses.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DistrictCourseCode" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The corresponding district course code.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="SubjectAreaListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Subject matter areas.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CourseTitle" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Title of the course.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Textual description of the course.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>An indication of the general nature and difficulty of instruction provided.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CourseCredits" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The number of credits awarded upon course completion.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CoreAcademicCourse" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Does the course meet the state definition of a core academic course?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GraduationRequirement" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Does the state require that the course be completed for graduation?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Department" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Department with jurisdiction over this course.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CourseContent" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Description of course content.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar>M</sifChar>
          <privacyRating>Low</privacyRating>
        </xs:appinfo>
        <xs:documentation>The ID (GUID) that uniquely identifies the school course.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="SchoolCourseInfo" type="SchoolCourseInfoType">
    <xs:unique name="SchoolCourseInfoKey1">
      <xs:selector xpath="./SchoolCourseInfo" />
      <xs:field xpath="@RefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="SchoolCourseInfoCollectionType">
    <xs:sequence>
      <xs:element name="SchoolCourseInfo" type="SchoolCourseInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SchoolCourseInfos" type="SchoolCourseInfoCollectionType" />

</xs:schema>