<!--
		SIF Implementation Specification (New Zealand) 3.1
		(8 December, 2020
)
		
		Infrastructure Version: v3.1
	-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sifassociation.org/datamodel/nz/3.1" targetNamespace="http://www.sifassociation.org/datamodel/nz/3.1" elementFormDefault="qualified" version="3.1 (rc 5)">
  <xs:complexType name="AssessmentTaskType">
    <xs:sequence>
      <xs:element name="AssessmentTaskRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="AssessmentTaskLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="AssessmentName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="ProviderInvolvedList" minOccurs="0" type="ProviderInvolvedListType" />
      <xs:element name="TeachingGroup" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="ProviderCourse" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="StudentList" minOccurs="0" nillable="true" type="StudentListType" />
      <xs:element name="StaffInvolvedList" minOccurs="0" nillable="true" type="StaffInvolvedListType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PointsPossible" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="DueDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Weight" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="MaxAttemptsAllowed" minOccurs="0" nillable="true" type="xs:integer" />
      <xs:element name="DetailedDescriptionURL" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="AssessmentType" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentTypeType" />
      <xs:element name="AssessmentMethodology" minOccurs="0" type="NZCodeSetsAssessmentMethodologyType" />
      <xs:element name="EvaluationType" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentEvaluationTypeType" />
      <xs:element name="Curriculum" minOccurs="0" nillable="true" type="NZCodeSetsCurriculumType" />
      <xs:element name="AssessmentToolUsed" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentToolType" />
      <xs:element name="AssessmentToolTest" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentToolTestType" />
      <xs:element name="AssessmentPurpose" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SubAssessmentTaskList" minOccurs="0" nillable="true" type="AssessmentTaskListType" />
      <xs:element name="PrerequisiteList" minOccurs="0" nillable="true" type="PrerequisiteListType" />
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="SubjectAreaListType" />
      <xs:element name="AssessedAtYearLevel" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:minInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="13" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="LearningStandardList" minOccurs="0" nillable="true" type="LearningStandardListType" />
      <xs:element name="StandardType" minOccurs="0" nillable="true" type="NZCodeSetsLearningStandardTypeType" />
      <xs:element name="SpecialAssessmentConditionExclusionList" minOccurs="0" nillable="true" type="SpecialAssessmentConditionListType" />
      <xs:element name="Timeframe" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentTimeframeType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="AssessmentTask" type="AssessmentTaskType">
    <xs:unique name="AssessmentTaskKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./AssessmentTaskRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="AssessmentTaskCollectionType">
    <xs:sequence>
      <xs:element name="AssessmentTask" type="AssessmentTaskType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AssessmentTasks" type="AssessmentTaskCollectionType" />

</xs:schema>