<!--
		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:simpleType name="ObjectNameType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:NCName">
          <xs:annotation>
            <xs:documentation>An unenumerated SIF object name.</xs:documentation>
          </xs:annotation>
          <xs:maxLength value="64" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="MonetaryAmountType">
    <xs:annotation>
      <xs:documentation>A monetary amount.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attribute name="Currency" use="optional" type="sif:ISO4217CurrencyNamesAndCodeElementsType">
          <xs:annotation>
            <xs:documentation>Currency code.  Where omitted, defaults to implementation-defined local currency, typically </xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="URIOrBinaryType">
    <xs:annotation>
      <xs:documentation>Allows for a URL or a Base-64 encoding.</xs:documentation>
    </xs:annotation>
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:anyURI" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:base64Binary" />
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>

  <xs:simpleType name="GUIDType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:annotation>
            <xs:documentation>SIF format for a GUID.</xs:documentation>
          </xs:annotation>
          <xs:pattern value="[0-9A-F]{32}" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="MsgIdType">
    <xs:restriction base="sif:GUIDType">
      <xs:annotation>
        <xs:documentation>A message identifier.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="RefIdType">
    <xs:restriction base="sif:GUIDType">
      <xs:annotation>
        <xs:documentation>An object or element identifier.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="IdRefType">
    <xs:restriction base="sif:RefIdType">
      <xs:annotation>
        <xs:documentation>A reference to a RefId.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="VersionType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:annotation>
            <xs:documentation>A SIF version number.</xs:documentation>
          </xs:annotation>
          <xs:maxLength value="12" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          <xs:pattern value="[0-9]+[.][0-9]+(r[0-9]+)?" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="VersionWithWildcardsType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:annotation>
            <xs:documentation>A SIF version number, with wildcards for matching multiple versions.</xs:documentation>
          </xs:annotation>
          <xs:maxLength value="12" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          <xs:pattern value="\*|([0-9]+[.]\*)|([0-9]+[.][0-9]+r\*)|([0-9]+[.][0-9]+(r[0-9]+)?)" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="DefinedProtocolsType">
    <xs:restriction base="xs:token">
      <xs:annotation>
        <xs:documentation>The transport protocols defined in SIF.</xs:documentation>
      </xs:annotation>
      <xs:enumeration value="HTTPS" />
      <xs:enumeration value="HTTP" />
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ExtendedContentType">
    <xs:complexContent mixed="true" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:restriction base="xs:anyType">
        <xs:sequence>
          <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="SelectedContentType">
    <xs:complexContent mixed="true" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:restriction base="xs:anyType">
        <xs:sequence>
          <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="SIF_LogEntryExtendedContentType">
    <xs:complexContent mixed="true" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:restriction base="xs:anyType">
        <xs:sequence>
          <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="ReportPackageType">
    <xs:complexContent>
      <xs:extension base="sif:AbstractContentPackageType">
        <xs:annotation>
          <xs:documentation>
      This package has exactly the same structure as </xs:documentation>
        </xs:annotation>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="AbstractContentPackageType">
    <xs:annotation>
      <xs:documentation>
        An abstract type for derived content package types, elements and objects.  This structure may be used verbatim, optionally extending
        with additional attributes, or may be redefined to include only a subset of child elements and/or to add validation to XML
        contained in XMLData.  Only one instance of XMLData, TextData, BinaryData or
        Reference can occur in a single instance.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:choice>
        <xs:element name="XMLData" minOccurs="0" nillable="true">
          <xs:complexType>
            <xs:sequence>
              <xs:any processContents="lax" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            </xs:sequence>
            <xs:attribute name="Description" use="optional" type="xs:token">
              <xs:annotation>
                <xs:documentation>
          Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
          Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
        </xs:documentation>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
        <xs:element name="TextData" minOccurs="0" nillable="true">
          <xs:annotation>
            <xs:documentation>Contains arbitrary text, encoded in UTF-8.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string">
                <xs:attribute name="MIMEType" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:documentation>
          Optional MIME type to specifically indicate the text type.  Otherwise text/plain can be assumed.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="FileName" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:documentation>
          Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="Description" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:documentation>
          Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
          Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="BinaryData" minOccurs="0" nillable="true">
          <xs:annotation>
            <xs:documentation>Contains the base64Binary encoding of binary or text data not encoded in UTF-8.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:base64Binary">
                <xs:attribute name="MIMEType" use="required" type="xs:token">
                  <xs:annotation>
                    <xs:documentation>
          MIME type to indicate the content type.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="FileName" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:documentation>
          Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="Description" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:documentation>
          Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
          Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="Reference" minOccurs="0" nillable="true">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="URL" type="xs:anyURI">
                <xs:annotation>
                  <xs:documentation>Location of external content.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="MIMEType" use="required" type="xs:token">
              <xs:annotation>
                <xs:documentation>
          MIME type to indicate the content type to be expected when retrieving the external content.
        </xs:documentation>
              </xs:annotation>
            </xs:attribute>
            <xs:attribute name="Description" use="optional" type="xs:token">
              <xs:annotation>
                <xs:documentation>
          Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
          Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
        </xs:documentation>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
      </xs:choice>
      <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_ExtendedElementsKey50">
          <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:annotation>
        <xs:documentation>The GUID that uniquely identifies an instance of the package.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="BaseNameType">
    <xs:annotation>
      <xs:documentation>
        Base type, without attributes, for Name elements, primarily to allow structure to be leveraged with different Type attribute values.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>A title or prefix associated with the name. If any of: Mr, Mrs, Ms, Miss, Rev, Fr, Dr, Prof, Hon, Sir, Lord, Lady - these must be as shown, otherwise free text. Note that title is not applicable to learners. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FamilyName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>Family name. That part of the person's name which is used to describe family, clan, tribal group, or marital association. Note that this element is required when known. However, it may not be possible to know the family name in which case you should add the available information to the FullName element. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GivenName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>Given name of the person. Note that this element is required if known. However, it may not be possible to know the given name in which case you should add the available information to the FullName element. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MiddleName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>All other given or middle names, each separated with a single space character. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FamilyNameFirst" minOccurs="0" nillable="true" type="sif:AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:documentation>An indicator used to identify the naming conventions used by some predominantly non-European, ethnic or language groups and related to the display nature of a name. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PreferredFamilyName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>The family name preferred most by the person (as written). </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PreferredFamilyNameFirst" minOccurs="0" nillable="true" type="sif:AUCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:documentation>An indicator used to identify the naming conventions used by some predominantly non-European, ethnic or language groups and related to the display nature of a name. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PreferredGivenName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>The given name preferred most by the person (as written). </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Suffix" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>Textual suffix like PHD, JP, BSc. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FullName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>A free text field for the complete name for display purposes. If this is associated with a StudentPersonal,StaffPersonal or StudentContactPersonal record and the FamilyName and GivenName are not both specified, then this becomes mandatory. </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NameOfRecordType">
    <xs:annotation>
      <xs:documentation>
        Extends BaseNameType to allow for one Type attribute value, indicating the name is the name of record;
        serves as the primary name in some SIF objects, including StudentPersonal.
      </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="sif:BaseNameType">
        <xs:attribute name="Type" use="required">
          <xs:annotation>
            <xs:documentation>
        Code that specifies what type of name this is. Note that type “LGL” must be used here.
      </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="LGL">
                <xs:annotation>
                  <xs:documentation>Name of Record</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="OtherNameType">
    <xs:annotation>
      <xs:documentation>
        Extends BaseNameType to allow for Type attribute values excluding "name of record."  Used for other names to
        be included in addition to the name of record in objects.
      </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="sif:BaseNameType">
        <xs:attribute name="Type" use="required" type="sif:AUCodeSetsNameUsageTypeType">
          <xs:annotation>
            <xs:documentation>
        Code that specifies what type of name this is. Note that type “LGL” is NOT to be used here.
      </xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:simpleType name="PartialDateType">
    <xs:annotation>
      <xs:documentation>A year, with an optional month/day, or an optional month by itself.</xs:documentation>
    </xs:annotation>
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:date" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:gYearMonth" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:gYear" />
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>

  <xs:complexType name="AbstractContentElementType">
    <xs:annotation>
      <xs:documentation>AbstractContentPackageType used as an element rather than an object, omitting RefId, SIF_Metadata and SIF_ExtendedElements.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:choice>
        <xs:element name="XMLData" minOccurs="0" nillable="true">
          <xs:complexType>
            <xs:sequence>
              <xs:any processContents="lax" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            </xs:sequence>
            <xs:attribute name="Description" use="optional" type="xs:token">
              <xs:annotation>
                <xs:documentation>
          Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
          Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
        </xs:documentation>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
        <xs:element name="TextData" minOccurs="0" nillable="true">
          <xs:annotation>
            <xs:documentation>Contains arbitrary text, encoded in UTF-8.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string">
                <xs:attribute name="MIMEType" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:documentation>
          Optional MIME type to specifically indicate the text type.  Otherwise text/plain can be assumed.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="FileName" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:documentation>
          Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="Description" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:documentation>
          Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
          Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="BinaryData" minOccurs="0" nillable="true">
          <xs:annotation>
            <xs:documentation>Contains the base64Binary encoding of binary or text data not encoded in UTF-8.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:base64Binary">
                <xs:attribute name="MIMEType" use="required" type="xs:token">
                  <xs:annotation>
                    <xs:documentation>
          MIME type to indicate the content type.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="FileName" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:documentation>
          Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
                <xs:attribute name="Description" use="optional" type="xs:token">
                  <xs:annotation>
                    <xs:documentation>
          Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
          Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
        </xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="Reference" minOccurs="0" nillable="true">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="URL" type="xs:anyURI">
                <xs:annotation>
                  <xs:documentation>Location of external content.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="MIMEType" use="required" type="xs:token">
              <xs:annotation>
                <xs:documentation>
          MIME type to indicate the content type to be expected when retrieving the external content.
        </xs:documentation>
              </xs:annotation>
            </xs:attribute>
            <xs:attribute name="Description" use="optional" type="xs:token">
              <xs:annotation>
                <xs:documentation>
          Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).
          Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.
        </xs:documentation>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="SIF_ProvideObjectNamesType">
    <xs:restriction base="xs:token">
      <xs:annotation>
        <xs:documentation>The SIF object names that can be specified in a </xs:documentation>
      </xs:annotation>
      <xs:enumeration value="AggregateCharacteristicInfo" />
      <xs:enumeration value="AggregateStatisticFact" />
      <xs:enumeration value="AggregateStatisticInfo" />
      <xs:enumeration value="Assessment" />
      <xs:enumeration value="AssessmentAdministration" />
      <xs:enumeration value="AssessmentForm" />
      <xs:enumeration value="AssessmentItem" />
      <xs:enumeration value="AssessmentPackage" />
      <xs:enumeration value="AssessmentRegistration" />
      <xs:enumeration value="AssessmentSubTest" />
      <xs:enumeration value="CalendarDate" />
      <xs:enumeration value="CalendarSummary" />
      <xs:enumeration value="Identity" />
      <xs:enumeration value="LEAInfo" />
      <xs:enumeration value="LearningResource" />
      <xs:enumeration value="LearningResourcePackage" />
      <xs:enumeration value="LearningStandardDocument" />
      <xs:enumeration value="LearningStandardItem" />
      <xs:enumeration value="PersonPicture" />
      <xs:enumeration value="ReportAuthorityInfo" />
      <xs:enumeration value="ReportManifest" />
      <xs:enumeration value="RoomInfo" />
      <xs:enumeration value="SchoolCourseInfo" />
      <xs:enumeration value="SchoolInfo" />
      <xs:enumeration value="SchoolPrograms" />
      <xs:enumeration value="SessionInfo" />
      <xs:enumeration value="SIF_LogEntry" />
      <xs:enumeration value="SIF_ReportObject" />
      <xs:enumeration value="StaffAssignment" />
      <xs:enumeration value="StaffPersonal" />
      <xs:enumeration value="StudentActivityInfo" />
      <xs:enumeration value="StudentActivityParticipation" />
      <xs:enumeration value="StudentAttendanceSummary" />
      <xs:enumeration value="StudentContactPersonal" />
      <xs:enumeration value="StudentContactRelationship" />
      <xs:enumeration value="StudentDailyAttendance" />
      <xs:enumeration value="StudentParticipation" />
      <xs:enumeration value="StudentPeriodAttendance" />
      <xs:enumeration value="StudentPersonal" />
      <xs:enumeration value="StudentSchoolEnrollment" />
      <xs:enumeration value="StudentScoreSet" />
      <xs:enumeration value="StudentSDTN" />
      <xs:enumeration value="StudentSnapshot" />
      <xs:enumeration value="SummaryEnrollmentInfo" />
      <xs:enumeration value="SystemRole" />
      <xs:enumeration value="TeachingGroup" />
      <xs:enumeration value="TermInfo" />
      <xs:enumeration value="TimeTable" />
      <xs:enumeration value="TimeTableCell" />
      <xs:enumeration value="TimeTableSubject" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="SIF_SubscribeObjectNamesType">
    <xs:restriction base="xs:token">
      <xs:annotation>
        <xs:documentation>The SIF object names that can be specified in a </xs:documentation>
      </xs:annotation>
      <xs:enumeration value="AggregateCharacteristicInfo" />
      <xs:enumeration value="AggregateStatisticFact" />
      <xs:enumeration value="AggregateStatisticInfo" />
      <xs:enumeration value="AssessmentAdministration" />
      <xs:enumeration value="AssessmentRegistration" />
      <xs:enumeration value="CalendarDate" />
      <xs:enumeration value="CalendarSummary" />
      <xs:enumeration value="Identity" />
      <xs:enumeration value="LEAInfo" />
      <xs:enumeration value="LearningResource" />
      <xs:enumeration value="LearningStandardDocument" />
      <xs:enumeration value="LearningStandardItem" />
      <xs:enumeration value="PersonPicture" />
      <xs:enumeration value="ReportAuthorityInfo" />
      <xs:enumeration value="ReportManifest" />
      <xs:enumeration value="RoomInfo" />
      <xs:enumeration value="SchoolCourseInfo" />
      <xs:enumeration value="SchoolInfo" />
      <xs:enumeration value="SchoolPrograms" />
      <xs:enumeration value="SessionInfo" />
      <xs:enumeration value="SIF_AgentACL" />
      <xs:enumeration value="SIF_LogEntry" />
      <xs:enumeration value="SIF_ReportObject" />
      <xs:enumeration value="SIF_ZoneStatus" />
      <xs:enumeration value="StaffAssignment" />
      <xs:enumeration value="StaffPersonal" />
      <xs:enumeration value="StudentActivityInfo" />
      <xs:enumeration value="StudentActivityParticipation" />
      <xs:enumeration value="StudentContactPersonal" />
      <xs:enumeration value="StudentContactRelationship" />
      <xs:enumeration value="StudentDailyAttendance" />
      <xs:enumeration value="StudentParticipation" />
      <xs:enumeration value="StudentPeriodAttendance" />
      <xs:enumeration value="StudentPersonal" />
      <xs:enumeration value="StudentSchoolEnrollment" />
      <xs:enumeration value="StudentScoreSet" />
      <xs:enumeration value="StudentSDTN" />
      <xs:enumeration value="SummaryEnrollmentInfo" />
      <xs:enumeration value="SystemRole" />
      <xs:enumeration value="TeachingGroup" />
      <xs:enumeration value="TermInfo" />
      <xs:enumeration value="TimeTable" />
      <xs:enumeration value="TimeTableCell" />
      <xs:enumeration value="TimeTableSubject" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="SIF_RequestObjectNamesType">
    <xs:restriction base="xs:token">
      <xs:annotation>
        <xs:documentation>The SIF object names that can be specified in a </xs:documentation>
      </xs:annotation>
      <xs:enumeration value="AggregateCharacteristicInfo" />
      <xs:enumeration value="AggregateStatisticFact" />
      <xs:enumeration value="AggregateStatisticInfo" />
      <xs:enumeration value="Assessment" />
      <xs:enumeration value="AssessmentAdministration" />
      <xs:enumeration value="AssessmentForm" />
      <xs:enumeration value="AssessmentItem" />
      <xs:enumeration value="AssessmentPackage" />
      <xs:enumeration value="AssessmentRegistration" />
      <xs:enumeration value="AssessmentSubTest" />
      <xs:enumeration value="CalendarDate" />
      <xs:enumeration value="CalendarSummary" />
      <xs:enumeration value="Identity" />
      <xs:enumeration value="LEAInfo" />
      <xs:enumeration value="LearningResource" />
      <xs:enumeration value="LearningResourcePackage" />
      <xs:enumeration value="LearningStandardDocument" />
      <xs:enumeration value="LearningStandardItem" />
      <xs:enumeration value="PersonPicture" />
      <xs:enumeration value="ReportAuthorityInfo" />
      <xs:enumeration value="ReportManifest" />
      <xs:enumeration value="RoomInfo" />
      <xs:enumeration value="SchoolCourseInfo" />
      <xs:enumeration value="SchoolInfo" />
      <xs:enumeration value="SchoolPrograms" />
      <xs:enumeration value="SessionInfo" />
      <xs:enumeration value="SIF_AgentACL" />
      <xs:enumeration value="SIF_LogEntry" />
      <xs:enumeration value="SIF_ReportObject" />
      <xs:enumeration value="SIF_ZoneStatus" />
      <xs:enumeration value="StaffAssignment" />
      <xs:enumeration value="StaffPersonal" />
      <xs:enumeration value="StudentActivityInfo" />
      <xs:enumeration value="StudentActivityParticipation" />
      <xs:enumeration value="StudentAttendanceSummary" />
      <xs:enumeration value="StudentContactPersonal" />
      <xs:enumeration value="StudentContactRelationship" />
      <xs:enumeration value="StudentDailyAttendance" />
      <xs:enumeration value="StudentParticipation" />
      <xs:enumeration value="StudentPeriodAttendance" />
      <xs:enumeration value="StudentPersonal" />
      <xs:enumeration value="StudentSchoolEnrollment" />
      <xs:enumeration value="StudentScoreSet" />
      <xs:enumeration value="StudentSDTN" />
      <xs:enumeration value="StudentSnapshot" />
      <xs:enumeration value="SummaryEnrollmentInfo" />
      <xs:enumeration value="SystemRole" />
      <xs:enumeration value="TeachingGroup" />
      <xs:enumeration value="TermInfo" />
      <xs:enumeration value="TimeTable" />
      <xs:enumeration value="TimeTableCell" />
      <xs:enumeration value="TimeTableSubject" />
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="SIF_ResponseObjectType">
    <xs:annotation>
      <xs:documentation>The SIF objects that can be included in a </xs:documentation>
    </xs:annotation>
    <xs:choice>
      <xs:element ref="sif:AggregateCharacteristicInfo" />
      <xs:element ref="sif:AggregateStatisticFact" />
      <xs:element ref="sif:AggregateStatisticInfo" />
      <xs:element ref="sif:Assessment" />
      <xs:element ref="sif:AssessmentAdministration" />
      <xs:element ref="sif:AssessmentForm" />
      <xs:element ref="sif:AssessmentItem" />
      <xs:element ref="sif:AssessmentPackage" />
      <xs:element ref="sif:AssessmentRegistration" />
      <xs:element ref="sif:AssessmentSubTest" />
      <xs:element ref="sif:CalendarDate" />
      <xs:element ref="sif:CalendarSummary" />
      <xs:element ref="sif:Identity" />
      <xs:element ref="sif:LEAInfo" />
      <xs:element ref="sif:LearningResource" />
      <xs:element ref="sif:LearningResourcePackage" />
      <xs:element ref="sif:LearningStandardDocument" />
      <xs:element ref="sif:LearningStandardItem" />
      <xs:element ref="sif:PersonPicture" />
      <xs:element ref="sif:ReportAuthorityInfo" />
      <xs:element ref="sif:ReportManifest" />
      <xs:element ref="sif:RoomInfo" />
      <xs:element ref="sif:SchoolCourseInfo" />
      <xs:element ref="sif:SchoolInfo" />
      <xs:element ref="sif:SchoolPrograms" />
      <xs:element ref="sif:SessionInfo" />
      <xs:element ref="sif:SIF_AgentACL" />
      <xs:element ref="sif:SIF_LogEntry" />
      <xs:element ref="sif:SIF_ReportObject" />
      <xs:element ref="sif:SIF_ZoneStatus" />
      <xs:element ref="sif:StaffAssignment" />
      <xs:element ref="sif:StaffPersonal" />
      <xs:element ref="sif:StudentActivityInfo" />
      <xs:element ref="sif:StudentActivityParticipation" />
      <xs:element ref="sif:StudentAttendanceSummary" />
      <xs:element ref="sif:StudentContactPersonal" />
      <xs:element ref="sif:StudentContactRelationship" />
      <xs:element ref="sif:StudentDailyAttendance" />
      <xs:element ref="sif:StudentParticipation" />
      <xs:element ref="sif:StudentPeriodAttendance" />
      <xs:element ref="sif:StudentPersonal" />
      <xs:element ref="sif:StudentSchoolEnrollment" />
      <xs:element ref="sif:StudentScoreSet" />
      <xs:element ref="sif:StudentSDTN" />
      <xs:element ref="sif:StudentSnapshot" />
      <xs:element ref="sif:SummaryEnrollmentInfo" />
      <xs:element ref="sif:SystemRole" />
      <xs:element ref="sif:TeachingGroup" />
      <xs:element ref="sif:TermInfo" />
      <xs:element ref="sif:TimeTable" />
      <xs:element ref="sif:TimeTableCell" />
      <xs:element ref="sif:TimeTableSubject" />
    </xs:choice>
  </xs:complexType>

  <xs:complexType name="SIF_ResponseObjectsType">
    <xs:choice minOccurs="0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:sequence>
        <xs:element ref="sif:AggregateCharacteristicInfo" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:AggregateStatisticFact" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:AggregateStatisticInfo" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:Assessment" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:AssessmentAdministration" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:AssessmentForm" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:AssessmentItem" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:AssessmentPackage" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:AssessmentRegistration" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:AssessmentSubTest" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:CalendarDate" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:CalendarSummary" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:Identity" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:LEAInfo" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:LearningResource" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:LearningResourcePackage" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:LearningStandardDocument" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:LearningStandardItem" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:PersonPicture" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:ReportAuthorityInfo" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:ReportManifest" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:RoomInfo" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:SchoolCourseInfo" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:SchoolInfo" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:SchoolPrograms" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:SessionInfo" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:SIF_AgentACL" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:SIF_LogEntry" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:SIF_ReportObject" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:SIF_ZoneStatus" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StaffAssignment" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StaffPersonal" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StudentActivityInfo" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StudentActivityParticipation" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StudentAttendanceSummary" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StudentContactPersonal" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StudentContactRelationship" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StudentDailyAttendance" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StudentParticipation" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StudentPeriodAttendance" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StudentPersonal" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StudentSchoolEnrollment" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StudentScoreSet" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StudentSDTN" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:StudentSnapshot" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:SummaryEnrollmentInfo" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:SystemRole" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:TeachingGroup" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:TermInfo" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:TimeTable" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:TimeTableCell" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:sequence>
        <xs:element ref="sif:TimeTableSubject" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:choice>
  </xs:complexType>

  <xs:complexType name="SIF_EventObjectType">
    <xs:annotation>
      <xs:documentation>The SIF objects that can be included in a </xs:documentation>
    </xs:annotation>
    <xs:choice>
      <xs:element ref="sif:AggregateCharacteristicInfo" />
      <xs:element ref="sif:AggregateStatisticFact" />
      <xs:element ref="sif:AggregateStatisticInfo" />
      <xs:element ref="sif:AssessmentAdministration" />
      <xs:element ref="sif:AssessmentRegistration" />
      <xs:element ref="sif:CalendarDate" />
      <xs:element ref="sif:CalendarSummary" />
      <xs:element ref="sif:Identity" />
      <xs:element ref="sif:LEAInfo" />
      <xs:element ref="sif:LearningResource" />
      <xs:element ref="sif:LearningStandardDocument" />
      <xs:element ref="sif:LearningStandardItem" />
      <xs:element ref="sif:PersonPicture" />
      <xs:element ref="sif:ReportAuthorityInfo" />
      <xs:element ref="sif:ReportManifest" />
      <xs:element ref="sif:RoomInfo" />
      <xs:element ref="sif:SchoolCourseInfo" />
      <xs:element ref="sif:SchoolInfo" />
      <xs:element ref="sif:SchoolPrograms" />
      <xs:element ref="sif:SessionInfo" />
      <xs:element ref="sif:SIF_AgentACL" />
      <xs:element ref="sif:SIF_LogEntry" />
      <xs:element ref="sif:SIF_ReportObject" />
      <xs:element ref="sif:SIF_ZoneStatus" />
      <xs:element ref="sif:StaffAssignment" />
      <xs:element ref="sif:StaffPersonal" />
      <xs:element ref="sif:StudentActivityInfo" />
      <xs:element ref="sif:StudentActivityParticipation" />
      <xs:element ref="sif:StudentContactPersonal" />
      <xs:element ref="sif:StudentContactRelationship" />
      <xs:element ref="sif:StudentDailyAttendance" />
      <xs:element ref="sif:StudentParticipation" />
      <xs:element ref="sif:StudentPeriodAttendance" />
      <xs:element ref="sif:StudentPersonal" />
      <xs:element ref="sif:StudentSchoolEnrollment" />
      <xs:element ref="sif:StudentScoreSet" />
      <xs:element ref="sif:StudentSDTN" />
      <xs:element ref="sif:SummaryEnrollmentInfo" />
      <xs:element ref="sif:SystemRole" />
      <xs:element ref="sif:TeachingGroup" />
      <xs:element ref="sif:TermInfo" />
      <xs:element ref="sif:TimeTable" />
      <xs:element ref="sif:TimeTableCell" />
      <xs:element ref="sif:TimeTableSubject" />
    </xs:choice>
  </xs:complexType>

  <xs:complexType name="SIF_ExampleObjectType">
    <xs:annotation>
      <xs:documentation>The SIF objects that can be included in </xs:documentation>
    </xs:annotation>
  </xs:complexType>

  <xs:complexType name="ReportDataObjectType">
    <xs:annotation>
      <xs:documentation>The SIF objects that can be included in </xs:documentation>
    </xs:annotation>
    <xs:choice>
      <xs:element ref="sif:AggregateCharacteristicInfo" />
      <xs:element ref="sif:AggregateStatisticFact" />
      <xs:element ref="sif:AggregateStatisticInfo" />
      <xs:element ref="sif:Assessment" />
      <xs:element ref="sif:AssessmentAdministration" />
      <xs:element ref="sif:AssessmentForm" />
      <xs:element ref="sif:AssessmentItem" />
      <xs:element ref="sif:AssessmentPackage" />
      <xs:element ref="sif:AssessmentRegistration" />
      <xs:element ref="sif:AssessmentSubTest" />
      <xs:element ref="sif:CalendarDate" />
      <xs:element ref="sif:CalendarSummary" />
      <xs:element ref="sif:Identity" />
      <xs:element ref="sif:LEAInfo" />
      <xs:element ref="sif:LearningResource" />
      <xs:element ref="sif:LearningResourcePackage" />
      <xs:element ref="sif:LearningStandardDocument" />
      <xs:element ref="sif:LearningStandardItem" />
      <xs:element ref="sif:PersonPicture" />
      <xs:element ref="sif:ReportAuthorityInfo" />
      <xs:element ref="sif:ReportManifest" />
      <xs:element ref="sif:RoomInfo" />
      <xs:element ref="sif:SchoolCourseInfo" />
      <xs:element ref="sif:SchoolInfo" />
      <xs:element ref="sif:SchoolPrograms" />
      <xs:element ref="sif:SessionInfo" />
      <xs:element ref="sif:SIF_AgentACL" />
      <xs:element ref="sif:SIF_LogEntry" />
      <xs:element ref="sif:SIF_ReportObject" />
      <xs:element ref="sif:SIF_ZoneStatus" />
      <xs:element ref="sif:StaffAssignment" />
      <xs:element ref="sif:StaffPersonal" />
      <xs:element ref="sif:StudentActivityInfo" />
      <xs:element ref="sif:StudentActivityParticipation" />
      <xs:element ref="sif:StudentAttendanceSummary" />
      <xs:element ref="sif:StudentContactPersonal" />
      <xs:element ref="sif:StudentContactRelationship" />
      <xs:element ref="sif:StudentDailyAttendance" />
      <xs:element ref="sif:StudentParticipation" />
      <xs:element ref="sif:StudentPeriodAttendance" />
      <xs:element ref="sif:StudentPersonal" />
      <xs:element ref="sif:StudentSchoolEnrollment" />
      <xs:element ref="sif:StudentScoreSet" />
      <xs:element ref="sif:StudentSDTN" />
      <xs:element ref="sif:StudentSnapshot" />
      <xs:element ref="sif:SummaryEnrollmentInfo" />
      <xs:element ref="sif:SystemRole" />
      <xs:element ref="sif:TeachingGroup" />
      <xs:element ref="sif:TermInfo" />
      <xs:element ref="sif:TimeTable" />
      <xs:element ref="sif:TimeTableCell" />
      <xs:element ref="sif:TimeTableSubject" />
      <xs:element name="ReportPackage" type="sif:ReportPackageType" />
    </xs:choice>
  </xs:complexType>

</xs:schema>