<!--
		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="GradingAssignmentScoreType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating>High</privacyRating>
      </xs:appinfo>
      <xs:documentation>
        This object provides score information about a particular assignment. 
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StudentPersonalRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The GUID for the student whose score this is.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StudentPersonalLocalId" minOccurs="0" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The Local Id for the student whose score this is.</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 GUID for the TeachingGroup object in which this assignment has been set.</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 in which this assignment has been set.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GradingAssignmentRefId" minOccurs="0" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The grading assignment for which this is a score.</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 staff member who marked the assignment, and was responsible for any associated teacher judgement.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DateGraded" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Date the assignment was graded.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ExpectedScore" minOccurs="0" nillable="true" type="xs:boolean">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>If true, this is the expected or calculated score for the assignment. If false, this is the score the student received through attempting the assignment. The expected score can be used to substitute for the received score, where the received score is unavailable; e.g. the student has not done the assessment, but will receive a default mark rather than be penalised with a zero grade.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScorePoints" minOccurs="0" nillable="true" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating>Medium</privacyRating>
          </xs:appinfo>
          <xs:documentation>The score represented as points. Conditionally required that one or more of ScorePoints, ScorePercent or ScoreLetter must be filled in. For online assignments, ScorePoints should be used to the exclusion of other scores.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScorePercent" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating>Medium</privacyRating>
          </xs:appinfo>
          <xs:documentation>The score represented as a percent. Conditionally required that one or more of ScorePoints, ScorePercent or ScoreLetter must be filled in.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScoreLetter" minOccurs="0" nillable="true" type="xs:token">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating>Medium</privacyRating>
          </xs:appinfo>
          <xs:documentation>The score represented as a letter grade. Conditionally required that one or more of ScorePoints, ScorePercent or ScoreLetter must be filled in.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScoreDescription" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Medium</privacyRating>
          </xs:appinfo>
          <xs:documentation>Text description of the score.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubscoreList" minOccurs="0" nillable="true" type="NAPSubscoreListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Medium</privacyRating>
          </xs:appinfo>
          <xs:documentation>Subscores contributing to the total mark.</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>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Teacher judgement associated with the score.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MarkInfoRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Interpretation of Grade.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AssignmentScoreIteration" minOccurs="0" nillable="true" type="xs:token">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>If this is a draft submission, or re-submission, iteration of the attempt.</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>High</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>High</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>A GUID that identifies an instance of this object.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="GradingAssignmentScore" type="GradingAssignmentScoreType">
    <xs:unique name="GradingAssignmentScoreKey1">
      <xs:selector xpath="./GradingAssignmentScore" />
      <xs:field xpath="@RefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="GradingAssignmentScoreCollectionType">
    <xs:sequence>
      <xs:element name="GradingAssignmentScore" type="GradingAssignmentScoreType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GradingAssignmentScores" type="GradingAssignmentScoreCollectionType" />

</xs:schema>