<!--
		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="StudentSchoolEnrollmentType">
    <xs:sequence>
      <xs:element name="StudentPersonalRefId" type="sif:IdRefType" />
      <xs:element name="SchoolInfoRefId" type="sif:IdRefType" />
      <xs:element name="MembershipType" type="sif:AUCodeSetsSchoolEnrollmentTypeType" />
      <xs:element name="TimeFrame" type="sif:AUCodeSetsEnrollmentTimeFrameType" />
      <xs:element ref="sif:SchoolYear" />
      <xs:element name="EntryDate" type="xs:date" />
      <xs:element name="EntryType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:AUCodeSetsEntryTypeType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="YearLevel" minOccurs="0" nillable="true" type="sif:YearLevelType" />
      <xs:element name="Homeroom" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="RoomInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Advisor" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="StaffPersonal" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Counselor" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="StaffPersonal" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <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="IndividualLearningPlan" minOccurs="0" nillable="true" type="sif:AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="Calendar" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="sif:IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="CalendarSummary" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExitStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:AUCodeSetsExitWithdrawalStatusType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExitType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:AUCodeSetsExitWithdrawalTypeType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="FTE" 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="FTPTStatus" minOccurs="0" nillable="true" type="sif:AUCodeSetsFTPTStatusCodeType" />
      <xs:element name="CatchmentStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:AUCodeSetsPublicSchoolCatchmentStatusType" />
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="RecordClosureReason" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="SchoolExit" />
            <xs:enumeration value="TimeDependentDataChange" />
            <xs:enumeration value="EndOfYear" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="PromotionInfo" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="PromotionStatus" minOccurs="0" nillable="true">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Promoted" />
                  <xs:enumeration value="Demoted" />
                  <xs:enumeration value="Retained" />
                  <xs:enumeration value="NA" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="PreviousSchool" minOccurs="0" nillable="true" type="sif:LocalIdType" />
      <xs:element name="DestinationSchool" minOccurs="0" nillable="true" type="sif:LocalIdType" />
      <xs:element name="StudentSubjectChoiceList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StudentSubjectChoice" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="PreferenceNumber" minOccurs="0" nillable="true" type="xs:unsignedInt" />
                  <xs:element name="SubjectLocalId" type="sif:LocalIdType" />
                  <xs:element name="StudyDescription" minOccurs="0" nillable="true" type="sif:SubjectAreaType" />
                  <xs:element name="OtherSchoolLocalId" minOccurs="0" nillable="true" type="sif:LocalIdType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </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:key name="SIF_ExtendedElementsKey22">
          <xs:selector xpath="./sif:SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
  </xs:complexType>

  <xs:element name="StudentSchoolEnrollment" type="sif:StudentSchoolEnrollmentType">
    <xs:key name="StudentSchoolEnrollmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

</xs:schema>