<!--
		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="TeachingGroupType">
    <xs:sequence>
      <xs:element name="SchoolYear" type="SchoolYearType" />
      <xs:element name="LocalId" type="LocalIdType" />
      <xs:element name="ShortName" type="xs:normalizedString" />
      <xs:element name="LongName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="GroupType" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Set" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Block" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="CurriculumLevel" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SchoolInfoRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="SchoolLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="SchoolCourseInfoRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="SchoolCourseLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="TimeTableSubjectRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="TimeTableSubjectLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Semester" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="StudentList" minOccurs="0" nillable="true" type="StudentListType" />
      <xs:element name="TeacherList" minOccurs="0" nillable="true" type="TeacherListType" />
      <xs:element name="MinClassSize" minOccurs="0" nillable="true" type="xs:integer" />
      <xs:element name="MaxClassSize" minOccurs="0" nillable="true" type="xs:integer" />
      <xs:element name="TeachingGroupPeriodList" minOccurs="0" nillable="true" type="TeachingGroupPeriodListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="TeachingGroup" type="TeachingGroupType">
    <xs:key name="TeachingGroupKey1">
      <xs:selector xpath="./TeachingGroup" />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="TeachingGroupCollectionType">
    <xs:sequence>
      <xs:element name="TeachingGroup" type="TeachingGroupType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TeachingGroups" type="TeachingGroupCollectionType" />

</xs:schema>