<!--
		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="ProviderCourseType">
    <xs:sequence>
      <xs:element name="ProviderCourseRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="ProviderCourseLocalId" type="LocalIdType" />
      <xs:element name="Provider" type="ProviderObjectReferenceType" />
      <xs:element name="Curriculum" type="NZCodeSetsCurriculumType" />
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="SubjectAreaListType" />
      <xs:element name="YearLevelList" minOccurs="0" nillable="true" type="YearLevelListType" />
      <xs:element name="Title" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Duration" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Credits" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="LanguageOfInstructionList" minOccurs="0" nillable="true" type="LanguageOfInstructionListType" />
      <xs:element name="NZQAShortCOurseInd" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="LearningStandardList" minOccurs="0" nillable="true" type="LearningStandardListType" />
      <xs:element name="CredentialList" minOccurs="0" nillable="true" type="CredentialListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="ProviderCourse" type="ProviderCourseType">
    <xs:key name="ProviderCourseKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./ProviderCourseRefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="ProviderCourseCollectionType">
    <xs:sequence>
      <xs:element name="ProviderCourse" type="ProviderCourseType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProviderCourses" type="ProviderCourseCollectionType" />

</xs:schema>