<!--
		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="StudentGradeType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>StudentGrade is a grade in isolation, not necessarily linked to an assessment, teaching group, class, or curriculum.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StudentPersonalRefId" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>
        The Id (GUID) that uniquely identifies the StudentPersonal object that this item refers to.
      </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Homegroup" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>
        Homegroup that the student belongs to.
      </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="YearLevel" minOccurs="0" nillable="true" type="YearLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Year level of student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TeachingGroupShortName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>
        Short free format label that describes the teaching group.
      </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TeachingGroupRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>
      The Id (GUID) that uniquely identifies the Teaching Group in which this Grade was assigned.
    </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StaffPersonalRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>
      The main staff member who graded the student, and was responsible for any associated teacher judgement.
    </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Markers" minOccurs="0" nillable="true" type="StudentGradeMarkersListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>
      Any other staff members who were involved in the grading or the student or who were responsible for any associated teacher judgement/s.
    </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SchoolInfoRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The Id (GUID) that uniquely identifies the School that these values apply to.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TermInfoRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Period over which grade is calculated. StudentGrade is intended to range over work done through a marking period; it is not intended for one-off pieces of formative assessment.</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>
        The scope of the StudentGrade; e.g. subject matter. Should be used if no TeachingGroup is associated with the grade.
      </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LearningArea" minOccurs="0" nillable="true" type="ACStrandSubjectAreaType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>
      Learning area against which the grade was given. 
    </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LearningStandardList" minOccurs="0" nillable="true" type="LearningStandardListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>
      We will now allow this in 3.4.3 to be either a GUID to LearningStandardItem, or a URL to the National Curriculum. This can be a content description or a strand. 
    </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GradingScoreList" minOccurs="0" nillable="true" type="GradingScoreListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Assignments that the student went through to achieve this summative assessment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Grade" minOccurs="0" nillable="true" type="GradeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>
      Overall grade that the student has received.
    </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TeacherJudgement" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>
        The teacher judgement of the student’s performance as captured in this object.
      </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 this object.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="StudentGrade" type="StudentGradeType">
    <xs:key name="StudentGradeKey1">
      <xs:selector xpath="./StudentGrade" />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentGradeCollectionType">
    <xs:sequence>
      <xs:element name="StudentGrade" type="StudentGradeType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentGrades" type="StudentGradeCollectionType" />

</xs:schema>