<!--
		SIF Implementation Specification (Australia) 1.1 (December 23, 2010) Infrastructure Version: 2.4-16
	-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.sifinfo.org/au/infrastructure/2.x" xmlns:sif="http://www.sifinfo.org/au/infrastructure/2.x" elementFormDefault="qualified">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="imports/xml/xml.xsd" />
  <xs:complexType name="StaffAssignmentType">
    <xs:annotation>
      <xs:documentation>
        This object defines information related to a staff member's assignment(s); commonly, this will be a school
        assignment.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" minOccurs="0" type="sif:IdRefType">
        <xs:annotation>
          <xs:documentation>The ID (GUID) that identifies the school where the staff member is assigned.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element ref="sif:SchoolYear" minOccurs="0" />
      <xs:element name="StaffPersonalRefId" minOccurs="0" type="sif:IdRefType">
        <xs:annotation>
          <xs:documentation>ID (GUID) of this staff member, as represented in the StaffPersonal object. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>Short assignment description</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PrimaryAssignment" minOccurs="0" type="sif:AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:documentation>
        Is this the staff member's primary assignment?  Note: There must be one and only one instance of the object with a Yes value in this element per school year.
      </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="JobStartDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:documentation>This is the date from which the staff assignment is valid (inclusive).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="JobEndDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:documentation>This is the date through which the staff assignment is valid (inclusive).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="JobFTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:annotation>
              <xs:documentation>Full-time job equivalent ratio for this assignment. (Format is x.xx; an employee who is full-time and who is 50% of their time on this assignment would be represented as 0.50)</xs:documentation>
            </xs:annotation>
            <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:annotation>
          <xs:documentation>The purpose of the activities as related to students.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StaffSubjectList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StaffSubject" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="PreferenceNumber" minOccurs="0" type="xs:unsignedInt">
                    <xs:annotation>
                      <xs:documentation>Priority of Subject to Teach.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="SubjectLocalId" minOccurs="0" nillable="true" type="sif:LocalIdType">
                    <xs:annotation>
                      <xs:documentation>Local Subject Id</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="TimeTableSubjectRefId" minOccurs="0" nillable="true" type="sif:RefIdType">
                    <xs:annotation>
                      <xs:documentation>RefId of TimeTableSubject</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="StaffActivity" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" minOccurs="0" type="sif:AUCodeSetsStaffActivityType">
              <xs:annotation>
                <xs:documentation>Code representing the type of staff activity undertaken.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="YearLevels" minOccurs="0" nillable="true" type="sif:YearLevelsType">
        <xs:annotation>
          <xs:documentation>Year level(s) that the teacher is allowed to teach.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CasualReliefTeacher" minOccurs="0" nillable="true" type="sif:AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:documentation>Is this teacher a casual relief teacher CRT?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Homegroup" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>The name of the homegroup the staff member is assigned to.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="House" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>The name of the house the staff member is assigned to.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType">
        <xs:unique name="SIF_ExtendedElementsKey19">
          <xs:selector xpath="./sif:SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:unique>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType">
      <xs:annotation>
        <xs:documentation>The GUID that uniquely identifies a particular staff assignment.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="StaffAssignment" type="sif:StaffAssignmentType">
    <xs:unique name="StaffAssignmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:unique>
  </xs:element>

</xs:schema>