<!--
		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="GradingAssignmentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating>Low</privacyRating>
      </xs:appinfo>
      <xs:documentation>
        This object provides information about a particular assignment, allows applications to synchronize each other's assignment tables, gathers the definition for a GradingAssignmentScore object, etc.  
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <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="StudentPersonalRefIdList" minOccurs="0" nillable="true" type="StudentsType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The GUIDs for individuals that this assignment has been set for.</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="GradingCategory" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A particular grading category for the assignment, used to provide grouping and type information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Description" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The text-based description of the assignment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PointsPossible" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The points possible on the assignment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreateDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Creation date of the assignment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DueDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Date the assignment is due.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Weight" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The weight of the assignment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MaxAttemptsAllowed" minOccurs="0" nillable="true" type="xs:integer">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>How many attempts the student is allowed on the assignment (applicable particularly to online activities).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DetailedDescriptionURL" minOccurs="0" nillable="true" type="xs:anyURI">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The location of the document that describes the assignment. If Type is PDF, this element will contain the Base64 encoding of the entire document. Preferred against DetailedDescriptionBinary for online assessment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DetailedDescriptionBinary" minOccurs="0" nillable="true" type="xs:base64Binary">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The Base64 encoding of a document (e.g. PDF) describing the assignment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AssessmentType" minOccurs="0" nillable="true" type="xs:token">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Type of assessment (e.g. diagnostic vs paedagogical).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LevelAssessed" minOccurs="0" nillable="true" type="xs:token">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Level at which assessment is aimed; may be year level.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AssignmentPurpose" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Purpose for assignment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubAssignmentList" minOccurs="0" nillable="true" type="AssignmentListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Assignments which this assignment is composed of.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RubricScoringGuide" minOccurs="0" nillable="true" type="GenericRubricType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Rubric Scoring information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PrerequisiteList" minOccurs="0" nillable="true" type="PrerequisitesType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Prerequisite conditions to be met for assessment.</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 />
        </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>A GUID that identifies an instance of this object. </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="GradingAssignment" type="GradingAssignmentType">
    <xs:key name="GradingAssignmentKey1">
      <xs:selector xpath="./GradingAssignment" />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="GradingAssignmentCollectionType">
    <xs:sequence>
      <xs:element name="GradingAssignment" type="GradingAssignmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GradingAssignments" type="GradingAssignmentCollectionType" />

</xs:schema>