<!--
		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="StudentAssessmentTaskRegistrationType">
    <xs:sequence>
      <xs:element name="StudentAssessmentTaskRegistrationRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentAssessmentTaskRegistrationLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="AssessmentRegistrationStatus" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentRegistrationStatusType" />
      <xs:element name="ProviderInvolvedList" type="ProviderInvolvedListType" />
      <xs:element name="Student" type="StudentObjectReferenceType" />
      <xs:element name="StaffMember" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="AssessmentTask" type="ObjectReferenceType" />
      <xs:element name="NZQA" minOccurs="0" nillable="true" type="NZQAAssessmentRegistrationType" />
      <xs:element name="SpecialAssessmentConditionList" minOccurs="0" nillable="true" type="SpecialAssessmentConditionListType" />
      <xs:element name="ProviderCourse" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="LearningStandard" minOccurs="0" nillable="true" type="LearningStandardObjectReferenceType" />
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="NZCodeSetsSubjectAreaType" />
      <xs:element name="YearLevel" 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="DateRegistered" type="xs:date" />
      <xs:element name="AssessmentYear" type="xs:gYear" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentAssessmentTaskRegistration" type="StudentAssessmentTaskRegistrationType">
    <xs:key name="StudentAssessmentTaskRegistrationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentAssessmentTaskRegistrationRefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentAssessmentTaskRegistrationCollectionType">
    <xs:sequence>
      <xs:element name="StudentAssessmentTaskRegistration" type="StudentAssessmentTaskRegistrationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentAssessmentTaskRegistrations" type="StudentAssessmentTaskRegistrationCollectionType" />

</xs:schema>