<!--
		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="StaffAssignmentType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="SchoolYear" minOccurs="0" nillable="true" type="SchoolYearType" />
      <xs:element name="StaffPersonalRefId" type="IdRefType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PrimaryAssignment" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="JobStartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="JobEndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="JobFTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="2" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="JobFunction" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="EmploymentStatus" minOccurs="0" nillable="true" type="AUCodeSetsStaffStatusType" />
      <xs:element name="StaffSubjectList" minOccurs="0" nillable="true" type="StaffSubjectListType" />
      <xs:element name="StaffActivity" minOccurs="0" nillable="true" type="StaffActivityExtensionType" />
      <xs:element name="YearLevels" minOccurs="0" nillable="true" type="YearLevelsType" />
      <xs:element name="CasualReliefTeacher" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="Homegroup" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="House" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="CalendarSummaryList" minOccurs="0" nillable="true" type="CalendarSummaryListType" />
      <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="StaffAssignment" type="StaffAssignmentType">
    <xs:key name="StaffAssignmentKey1">
      <xs:selector xpath="./StaffAssignment" />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StaffAssignmentCollectionType">
    <xs:sequence>
      <xs:element name="StaffAssignment" type="StaffAssignmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StaffAssignments" type="StaffAssignmentCollectionType" />

</xs:schema>