<!--
		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="CopyRightContainerType">
    <xs:sequence>
      <xs:element name="Date" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Holder" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StandardsSettingBodyType">
    <xs:sequence>
      <xs:element name="Country" minOccurs="0" nillable="true" type="CountryType" />
      <xs:element name="StateProvince" minOccurs="0" nillable="true" type="StateProvinceType" />
      <xs:element name="SettingBodyName" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StandardHierarchyLevelType">
    <xs:sequence>
      <xs:element name="Number" minOccurs="0" type="xs:unsignedInt" />
      <xs:element name="Description" minOccurs="0" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StandardIdentifierType">
    <xs:sequence>
      <xs:element name="YearCreated" minOccurs="0" type="xs:gYear" />
      <xs:element name="ACStrandSubjectArea" minOccurs="0" type="ACStrandSubjectAreaType" />
      <xs:element name="StandardNumber" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="YearLevels" minOccurs="0" type="YearLevelsType" />
      <xs:element name="Benchmark" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="YearLevel" minOccurs="0" nillable="true" type="YearLevelType" />
      <xs:element name="IndicatorNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AlternateIdentificationCodes" minOccurs="0" nillable="true" type="AlternateIdentificationCodeListType" />
      <xs:element name="Organization" minOccurs="0" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AlternateIdentificationCodeListType">
    <xs:sequence>
      <xs:element name="AlternateIdentificationCode" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RelatedLearningStandardItemRefIdListType">
    <xs:sequence>
      <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="RelatedLearningStandardItemRefIdType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RelatedLearningStandardItemRefIdType">
    <xs:simpleContent>
      <xs:extension base="IdRefTypeOrEmpty">
        <xs:attribute name="RelationshipType" use="required">
          <xs:simpleType>
            <xs:union>
              <xs:simpleType>
                <xs:restriction base="AUCodeSetsLearningStandardItemRelationshipTypesType" />
              </xs:simpleType>
              <xs:simpleType>
                <xs:restriction base="xs:token" />
              </xs:simpleType>
            </xs:union>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ValidLetterMarkListType">
    <xs:sequence>
      <xs:element name="ValidLetterMark" minOccurs="0" maxOccurs="unbounded" type="ValidLetterMarkType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ValidLetterMarkType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="xs:token" />
      <xs:element name="NumericEquivalent" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentGradeMarkersListType">
    <xs:sequence>
      <xs:element name="Marker" minOccurs="0" maxOccurs="unbounded" type="MarkerType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MarkerType">
    <xs:sequence>
      <xs:element name="StaffPersonalRefId" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Role" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="GradingScoreListType">
    <xs:sequence>
      <xs:element name="GradingAssignmentScore" minOccurs="0" maxOccurs="unbounded" type="AssignmentScoreType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AssignmentScoreType">
    <xs:sequence>
      <xs:element name="GradingAssignmentScoreRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="Weight" minOccurs="0" nillable="true" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="GradeType">
    <xs:sequence>
      <xs:element name="Percentage" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0.00" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="100.00" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Numeric" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Letter" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="Narrative" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="MarkInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LearningStandardListType">
    <xs:sequence>
      <xs:element name="LearningStandard" minOccurs="0" maxOccurs="unbounded" type="LearningStandardType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LearningStandardType">
    <xs:sequence>
      <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
      <xs:element name="LearningStandardURL" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="LearningStandardLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AssignmentListType">
    <xs:sequence>
      <xs:element name="GradingAssignmentRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="GenericRubricType">
    <xs:sequence>
      <xs:element name="RubricType" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="ScoreList" minOccurs="0" type="ScoreListType" />
      <xs:element name="Descriptor" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MedicationListType">
    <xs:sequence>
      <xs:element name="Medication" minOccurs="0" maxOccurs="unbounded" type="MedicationType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MedicationType">
    <xs:sequence>
      <xs:element name="MedicationName" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Dosage" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Frequency" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="AdministrationInformation" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Method" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingEventCategoryListType">
    <xs:sequence>
      <xs:element name="WellbeingEventCategory" minOccurs="0" maxOccurs="unbounded" type="WellbeingEventCategoryType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingEventCategoryType">
    <xs:sequence>
      <xs:element name="EventCategory" minOccurs="0">
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="AUCodeSetsEventCategoryType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string" />
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="WellbeingEventSubCategoryList" minOccurs="0" nillable="true" type="WellbeingEventSubCategoryListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingEventSubCategoryListType">
    <xs:sequence>
      <xs:element name="WellbeingEventSubCategory" minOccurs="0" maxOccurs="unbounded">
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="AUCodeSetsEventSubCategoryType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:string" />
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingEventLocationDetailsType">
    <xs:sequence>
      <xs:element name="EventLocation" minOccurs="0" type="AUCodeSetsWellbeingEventLocationType" />
      <xs:element name="Class" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="FurtherLocationNotes" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="FollowUpActionListType">
    <xs:sequence>
      <xs:element name="FollowUpAction" minOccurs="0" maxOccurs="unbounded" type="FollowUpActionType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="FollowUpActionType">
    <xs:sequence>
      <xs:element name="WellbeingResponseRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="FollowUpDetails" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="FollowUpActionCategory" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PersonInvolvementListType">
    <xs:sequence>
      <xs:element name="PersonInvolvement" minOccurs="0" maxOccurs="unbounded" type="PersonInvolvementType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PersonInvolvementType">
    <xs:sequence>
      <xs:element name="PersonRefId" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefTypeOrEmpty">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="StudentPersonal" />
                    <xs:enumeration value="StaffPersonal" />
                    <xs:enumeration value="StudentContactPersonal" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ShortName" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="HowInvolved" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WithdrawalTimeListType">
    <xs:sequence>
      <xs:element name="Withdrawal" minOccurs="0" maxOccurs="unbounded" type="WithdrawalType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WithdrawalType">
    <xs:sequence>
      <xs:element name="WithdrawalDate" minOccurs="0" type="xs:date" />
      <xs:element name="WithdrawalStartTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="WithdrawalEndTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="TimeTableSubjectRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="ScheduledActivityRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="TimeTableCellRefId" minOccurs="0" nillable="true" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SuspensionContainerType">
    <xs:sequence>
      <xs:element name="SuspensionCategory" minOccurs="0" type="AUCodeSetsSuspensionCategoryType" />
      <xs:element name="WithdrawalTimeList" minOccurs="0" nillable="true" type="WithdrawalTimeListType" />
      <xs:element name="Duration" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="AdvisementDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ResolutionMeetingTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="ResolutionNotes" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="EarlyReturnDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="AUCodeSetsWellbeingStatusType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DetentionContainerType">
    <xs:sequence>
      <xs:element name="DetentionCategory" minOccurs="0" type="AUCodeSetsDetentionCategoryType" />
      <xs:element name="DetentionDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DetentionLocation" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="DetentionNotes" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="AUCodeSetsWellbeingStatusType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PlanRequiredContainerType">
    <xs:sequence>
      <xs:element name="PlanRequiredList" minOccurs="0" nillable="true" type="PlanRequiredListType" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="AUCodeSetsWellbeingStatusType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PlanRequiredListType">
    <xs:sequence>
      <xs:element name="Plan" minOccurs="0" maxOccurs="unbounded" type="WellbeingPlanType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingPlanType">
    <xs:sequence>
      <xs:element name="PersonalisedPlanRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="PlanNotes" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AwardContainerType">
    <xs:sequence>
      <xs:element name="AwardDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="AwardType" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="AwardDescription" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="AwardNotes" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="AUCodeSetsWellbeingStatusType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OtherWellbeingResponseContainerType">
    <xs:sequence>
      <xs:element name="OtherResponseDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="OtherResponseType" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="OtherResponseDescription" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="OtherResponseNotes" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="AUCodeSetsWellbeingStatusType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingDocumentListType">
    <xs:sequence>
      <xs:element name="Document" minOccurs="0" maxOccurs="unbounded" type="WellbeingDocumentType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingDocumentType">
    <xs:sequence>
      <xs:element name="Location" minOccurs="0" type="xs:string" />
      <xs:element name="Sensitivity" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="URL" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="DocumentType" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="DocumentReviewDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DocumentDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestItemContentType">
    <xs:sequence>
      <xs:element name="NAPTestItemLocalId" minOccurs="0" type="LocalIdType" />
      <xs:element name="ItemName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="ItemType" minOccurs="0" type="AUCodeSetsNAPTestItemTypeType" />
      <xs:element name="Subdomain" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="WritingGenre" minOccurs="0" nillable="true" type="AUCodeSetsNAPWritingGenreType" />
      <xs:element name="ItemDescriptor" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="ReleasedStatus" minOccurs="0" type="xs:boolean" />
      <xs:element name="MarkingType" minOccurs="0" type="AUCodeSetsNAPTestItemMarkingTypeType" />
      <xs:element name="MultipleChoiceOptionCount" minOccurs="0" nillable="true" type="xs:int" />
      <xs:element name="CorrectAnswer" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="MaximumScore" minOccurs="0" type="xs:decimal" />
      <xs:element name="ItemDifficulty" minOccurs="0" type="xs:decimal" />
      <xs:element name="ItemDifficultyLogit5" minOccurs="0" type="xs:decimal" />
      <xs:element name="ItemDifficultyLogit62" minOccurs="0" type="xs:decimal" />
      <xs:element name="ItemDifficultyLogit5SE" minOccurs="0" type="xs:decimal" />
      <xs:element name="ItemDifficultyLogit62SE" minOccurs="0" type="xs:decimal" />
      <xs:element name="ItemProficiencyBand" minOccurs="0" type="xs:integer" />
      <xs:element name="ItemProficiencyLevel" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ExemplarURL" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="ItemSubstitutedForList" minOccurs="0" nillable="true" type="SubstituteItemListType" />
      <xs:element name="ContentDescriptionList" minOccurs="0" nillable="true" type="ContentDescriptionListType" />
      <xs:element name="StimulusList" minOccurs="0" nillable="true" type="StimulusListType" />
      <xs:element name="NAPWritingRubricList" minOccurs="0" nillable="true" type="NAPWritingRubricListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestletContentType">
    <xs:sequence>
      <xs:element name="NAPTestletLocalId" minOccurs="0" type="LocalIdType" />
      <xs:element name="TestletName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Node" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="LocationInStage" minOccurs="0" nillable="true" type="xs:integer" />
      <xs:element name="TestletMaximumScore" minOccurs="0" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestContentType">
    <xs:sequence>
      <xs:element name="NAPTestLocalId" minOccurs="0" type="LocalIdType" />
      <xs:element name="TestName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="TestLevel" minOccurs="0" type="YearLevelType" />
      <xs:element name="TestType" minOccurs="0" type="AUCodeSetsNAPTestTypeType" />
      <xs:element name="Domain" minOccurs="0" type="AUCodeSetsNAPTestDomainType" />
      <xs:element name="TestYear" minOccurs="0" type="SchoolYearType" />
      <xs:element name="StagesCount" minOccurs="0" type="xs:int" />
      <xs:element name="DomainBands" minOccurs="0" type="DomainBandsContainerType" />
      <xs:element name="DomainProficiency" minOccurs="0" type="DomainProficiencyContainerType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PlausibleScaledValueListType">
    <xs:sequence>
      <xs:element name="PlausibleScaledValue" minOccurs="0" maxOccurs="unbounded" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SubstituteItemListType">
    <xs:sequence>
      <xs:element name="SubstituteItem" minOccurs="0" maxOccurs="unbounded" type="SubstituteItemType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SubstituteItemType">
    <xs:sequence>
      <xs:element name="SubstituteItemRefId" minOccurs="0" type="IdRefType" />
      <xs:element name="SubstituteItemLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="PNPCodeList" minOccurs="0" type="PNPCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CodeFrameTestItemListType">
    <xs:sequence>
      <xs:element name="TestItem" minOccurs="0" maxOccurs="unbounded" type="CodeFrameTestItemType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CodeFrameTestItemType">
    <xs:sequence>
      <xs:element name="TestItemRefId" minOccurs="0" type="IdRefType" />
      <xs:element name="SequenceNumber" minOccurs="0" type="xs:integer" />
      <xs:element name="TestItemContent" minOccurs="0" type="NAPTestItemContentType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StimulusLocalIdListType">
    <xs:sequence>
      <xs:element name="StimulusLocalId" minOccurs="0" maxOccurs="unbounded" type="LocalIdType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DomainBandsContainerType">
    <xs:sequence>
      <xs:element name="Band1Lower" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band1Upper" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band2Lower" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band2Upper" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band3Lower" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band3Upper" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band4Lower" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band4Upper" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band5Lower" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band5Upper" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band6Lower" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band6Upper" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band7Lower" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band7Upper" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band8Lower" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band8Upper" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band9Lower" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band9Upper" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band10Lower" minOccurs="0" type="xs:decimal" />
      <xs:element name="Band10Upper" minOccurs="0" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DomainProficiencyContainerType">
    <xs:sequence>
      <xs:element name="Level1Lower" minOccurs="0" type="xs:decimal" />
      <xs:element name="Level1Upper" minOccurs="0" type="xs:decimal" />
      <xs:element name="Level2Lower" minOccurs="0" type="xs:decimal" />
      <xs:element name="Level2Upper" minOccurs="0" type="xs:decimal" />
      <xs:element name="Level3Lower" minOccurs="0" type="xs:decimal" />
      <xs:element name="Level3Upper" minOccurs="0" type="xs:decimal" />
      <xs:element name="Level4Lower" minOccurs="0" type="xs:decimal" />
      <xs:element name="Level4Upper" minOccurs="0" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestItemListType">
    <xs:sequence>
      <xs:element name="TestItem" minOccurs="0" maxOccurs="unbounded" type="NAPTestItem2Type" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestItem2Type">
    <xs:sequence>
      <xs:element name="TestItemRefId" minOccurs="0" type="IdRefType" />
      <xs:element name="TestItemLocalId" minOccurs="0" type="LocalIdType" />
      <xs:element name="SequenceNumber" minOccurs="0" type="xs:integer" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPCodeFrameTestletListType">
    <xs:sequence>
      <xs:element name="Testlet" minOccurs="0" maxOccurs="unbounded" type="NAPTestletCodeFrameType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestletCodeFrameType">
    <xs:sequence>
      <xs:element name="NAPTestletRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="TestletContent" minOccurs="0" type="NAPTestletContentType" />
      <xs:element name="TestItemList" minOccurs="0" type="CodeFrameTestItemListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPStudentResponseTestletListType">
    <xs:sequence>
      <xs:element name="Testlet" minOccurs="0" maxOccurs="unbounded" type="NAPTestletResponseType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestletResponseType">
    <xs:sequence>
      <xs:element name="NAPTestletRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="NAPTestletLocalId" minOccurs="0" type="LocalIdType" />
      <xs:element name="TestletSubScore" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="ItemResponseList" minOccurs="0" type="NAPTestletItemResponseListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestletItemResponseListType">
    <xs:sequence>
      <xs:element name="ItemResponse" minOccurs="0" maxOccurs="unbounded" type="NAPTestletResponseItemType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPTestletResponseItemType">
    <xs:sequence>
      <xs:element name="NAPTestItemRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="NAPTestItemLocalId" minOccurs="0" type="LocalIdType" />
      <xs:element name="Response" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ResponseCorrectness" minOccurs="0" type="AUCodeSetsNAPResponseCorrectnessType" />
      <xs:element name="Score" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="LapsedTimeItem" minOccurs="0" nillable="true" type="xs:duration" />
      <xs:element name="SequenceNumber" minOccurs="0" type="xs:integer" />
      <xs:element name="ItemWeight" minOccurs="0" type="xs:decimal" />
      <xs:element name="SubscoreList" minOccurs="0" nillable="true" type="NAPSubscoreListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPSubscoreListType">
    <xs:sequence>
      <xs:element name="Subscore" minOccurs="0" maxOccurs="unbounded" type="NAPSubscoreType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPSubscoreType">
    <xs:sequence>
      <xs:element name="SubscoreType" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="SubscoreValue" minOccurs="0" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DomainScoreType">
    <xs:sequence>
      <xs:element name="RawScore" minOccurs="0" type="xs:decimal" />
      <xs:element name="ScaledScoreValue" minOccurs="0" type="xs:decimal" />
      <xs:element name="ScaledScoreLogitValue" minOccurs="0" type="xs:decimal" />
      <xs:element name="ScaledScoreStandardError" minOccurs="0" type="xs:decimal" />
      <xs:element name="ScaledScoreLogitStandardError" minOccurs="0" type="xs:decimal" />
      <xs:element name="StudentDomainBand" minOccurs="0" type="xs:integer" />
      <xs:element name="StudentProficiency" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PlausibleScaledValueList" minOccurs="0" maxOccurs="unbounded" type="PlausibleScaledValueListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPWritingRubricListType">
    <xs:sequence>
      <xs:element name="NAPWritingRubric" minOccurs="0" maxOccurs="unbounded" type="NAPWritingRubricType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPWritingRubricType">
    <xs:sequence>
      <xs:element name="RubricType" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="ScoreList" minOccurs="0" type="ScoreListType" />
      <xs:element name="Descriptor" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScoreListType">
    <xs:sequence>
      <xs:element name="Score" minOccurs="0" maxOccurs="unbounded" type="ScoreType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScoreType">
    <xs:sequence>
      <xs:element name="MaxScoreValue" minOccurs="0" type="xs:decimal" />
      <xs:element name="ScoreDescriptionList" minOccurs="0" type="ScoreDescriptionListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScoreDescriptionListType">
    <xs:sequence>
      <xs:element name="ScoreDescription" minOccurs="0" maxOccurs="unbounded" type="ScoreDescriptionType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScoreDescriptionType">
    <xs:sequence>
      <xs:element name="ScoreValue" minOccurs="0" type="xs:decimal" />
      <xs:element name="Descriptor" minOccurs="0" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StimulusListType">
    <xs:sequence>
      <xs:element name="Stimulus" minOccurs="0" maxOccurs="unbounded" type="StimulusType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StimulusType">
    <xs:sequence>
      <xs:element name="StimulusLocalId" minOccurs="0" type="LocalIdType" />
      <xs:element name="TextGenre" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TextType" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="WordCount" minOccurs="0" nillable="true" type="xs:integer" />
      <xs:element name="TextDescriptor" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Content" minOccurs="0" type="xs:anyURI" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ContentDescriptionListType">
    <xs:sequence>
      <xs:element name="ContentDescription" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PNPCodeListType">
    <xs:sequence>
      <xs:element name="PNPCode" minOccurs="0" maxOccurs="unbounded" type="AUCodeSetsPNPCodeType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AdjustmentContainerType">
    <xs:sequence>
      <xs:element name="PNPCodeList" minOccurs="0" type="PNPCodeListType" />
      <xs:element name="BookletType" minOccurs="0" nillable="true" type="xs:token" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TestDisruptionListType">
    <xs:sequence>
      <xs:element name="TestDisruption" minOccurs="0" maxOccurs="unbounded" type="TestDisruptionType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TestDisruptionType">
    <xs:sequence>
      <xs:element name="Event" minOccurs="0" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CalendarSummaryListType">
    <xs:sequence>
      <xs:element name="CalendarSummaryRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="VisaSubClassType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="VisaSubClassCodeType" />
      <xs:element name="VisaExpiryDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ATEExpiryDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ATEStartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="VisaStatisticalCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="VisaSubClassListType">
    <xs:sequence>
      <xs:element name="VisaSubClass" minOccurs="0" maxOccurs="unbounded" type="VisaSubClassType" />
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="VisaSubClassCodeType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="AUCodeSetsVisaSubClassType" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string" />
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>

  <xs:complexType name="LanguageBaseType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsAustralianStandardClassificationOfLanguagesASCLType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
      <xs:element name="LanguageType" minOccurs="0" nillable="true" type="AUCodeSetsLanguageTypeType" />
      <xs:element name="Dialect" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReligiousEventListType">
    <xs:sequence>
      <xs:element name="ReligiousEvent" minOccurs="0" maxOccurs="unbounded" type="ReligiousEventType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReligiousEventType">
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Date" minOccurs="0" type="xs:date" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReligionType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsAustralianStandardClassificationOfReligiousGroupsASCRGType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DwellingArrangementType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsDwellingArrangementType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CountryListType">
    <xs:sequence>
      <xs:element name="CountryOfCitizenship" minOccurs="0" maxOccurs="unbounded" type="CountryType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CountryList2Type">
    <xs:sequence>
      <xs:element name="CountryOfResidency" minOccurs="0" maxOccurs="unbounded" type="CountryType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DebitOrCreditAmountType">
    <xs:simpleContent>
      <xs:extension base="MonetaryAmountType">
        <xs:attribute name="Type" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="Debit" />
              <xs:enumeration value="Credit" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ScheduledActivityOverrideType">
    <xs:simpleContent>
      <xs:extension base="AUCodeSetsYesOrNoCategoryTypeOrEmpty">
        <xs:attribute name="DateOfOverride" use="optional" type="xs:date" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="ActivityTimeType">
    <xs:sequence>
      <xs:element name="CreationDate" minOccurs="0" type="xs:date" />
      <xs:element name="Duration" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="XSUnsignedIntOrEmpty">
              <xs:attribute name="Units" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="week" />
                    <xs:enumeration value="day" />
                    <xs:enumeration value="hour" />
                    <xs:enumeration value="minute" />
                    <xs:enumeration value="second" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="FinishDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DueDate" minOccurs="0" nillable="true" type="xs:date" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolCourseInfoOverrideType">
    <xs:sequence>
      <xs:element name="CourseCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StateCourseCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="DistrictCourseCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="SubjectAreaType" />
      <xs:element name="CourseTitle" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="CourseCredits" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
    <xs:attribute name="Override" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="Yes" />
          <xs:enumeration value="No" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="LocationOfInstructionType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsReceivingLocationOfInstructionType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LanguageOfInstructionType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsAustralianStandardClassificationOfLanguagesASCLType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MediumOfInstructionType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsMediumOfInstructionType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentActivityType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsActivityInvolvementCodeType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ContactFlagsType">
    <xs:sequence>
      <xs:element name="ParentLegalGuardian" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="PickupRights" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="LivesWith" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="AccessToRecords" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="ReceivesAssessmentReport" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="EmergencyContact" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="HasCustody" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="DisciplinaryContact" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="AttendanceContact" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="PrimaryCareProvider" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="FeesBilling" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="FeesAccess" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="FamilyMail" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="InterventionOrder" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AgencyType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsEducationAgencyTypeType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="YearRangeType">
    <xs:sequence>
      <xs:element name="Start" minOccurs="0" type="YearLevelType" />
      <xs:element name="End" minOccurs="0" type="YearLevelType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CreationUserType">
    <xs:sequence>
      <xs:element name="UserId" minOccurs="0" type="xs:normalizedString" />
    </xs:sequence>
    <xs:attribute name="Type" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="Office Staff" />
          <xs:enumeration value="School Admin" />
          <xs:enumeration value="Parent" />
          <xs:enumeration value="Nurse" />
          <xs:enumeration value="Teacher" />
          <xs:enumeration value="Other" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="AuditInfoType">
    <xs:sequence>
      <xs:element name="CreationUser" minOccurs="0" type="CreationUserType" />
      <xs:element name="CreationDateTime" minOccurs="0" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AttendanceInfoType">
    <xs:sequence>
      <xs:element name="CountsTowardAttendance" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="AttendanceValue" minOccurs="0">
        <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="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CalendarDateInfoType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsCalendarEventType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ProgramAvailabilityType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSets0211ProgramAvailabilityType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReferralSourceType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSets0792IdentificationProcedureType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PromotionInfoType">
    <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:complexType name="CatchmentStatusContainerType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsPublicSchoolCatchmentStatusType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentExitStatusContainerType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsExitWithdrawalStatusType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentExitContainerType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsExitWithdrawalTypeType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentEntryContainerType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsEntryTypeType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentMostRecentContainerType">
    <xs:sequence>
      <xs:element name="SchoolLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="HomeroomLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="YearLevel" minOccurs="0" nillable="true" type="YearLevelType" />
      <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="Parent1Language" minOccurs="0" nillable="true" type="AUCodeSetsAustralianStandardClassificationOfLanguagesASCLType" />
      <xs:element name="Parent2Language" minOccurs="0" nillable="true" type="AUCodeSetsAustralianStandardClassificationOfLanguagesASCLType" />
      <xs:element name="Parent1EmploymentType" minOccurs="0" nillable="true" type="AUCodeSetsEmploymentTypeType" />
      <xs:element name="Parent2EmploymentType" minOccurs="0" nillable="true" type="AUCodeSetsEmploymentTypeType" />
      <xs:element name="Parent1SchoolEducationLevel" minOccurs="0" nillable="true" type="AUCodeSetsSchoolEducationLevelTypeType" />
      <xs:element name="Parent2SchoolEducationLevel" minOccurs="0" nillable="true" type="AUCodeSetsSchoolEducationLevelTypeType" />
      <xs:element name="Parent1NonSchoolEducation" minOccurs="0" nillable="true" type="AUCodeSetsNonSchoolEducationType" />
      <xs:element name="Parent2NonSchoolEducation" minOccurs="0" nillable="true" type="AUCodeSetsNonSchoolEducationType" />
      <xs:element name="LocalCampusId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="SchoolACARAId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="TestLevel" minOccurs="0" nillable="true" type="YearLevelType" />
      <xs:element name="Homegroup" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ClassCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="MembershipType" minOccurs="0" nillable="true" type="AUCodeSetsSchoolEnrollmentTypeType" />
      <xs:element name="FFPOS" minOccurs="0" nillable="true" type="AUCodeSetsFFPOSStatusCodeType" />
      <xs:element name="ReportingSchoolId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="OtherEnrollmentSchoolACARAId" minOccurs="0" nillable="true" type="LocalIdType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffMostRecentContainerType">
    <xs:sequence>
      <xs:element name="SchoolLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="SchoolACARAId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="LocalCampusId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="NAPLANClassList" minOccurs="0" nillable="true" type="NAPLANClassListType" />
      <xs:element name="HomeGroup" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffActivityExtensionType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsStaffActivityType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TotalEnrollmentsType">
    <xs:sequence>
      <xs:element name="Girls" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Boys" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TotalStudents" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CampusContainerType">
    <xs:sequence>
      <xs:element name="ParentSchoolId" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SchoolCampusId" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="CampusType" minOccurs="0" nillable="true" type="AUCodeSetsSchoolLevelType" />
      <xs:element name="AdminStatus" minOccurs="0" type="AUCodeSetsYesOrNoCategoryType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HouseholdContactInfoListType">
    <xs:sequence>
      <xs:element name="HouseholdContactInfo" minOccurs="0" maxOccurs="unbounded" type="HouseholdContactInfoType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HouseholdContactInfoType">
    <xs:sequence>
      <xs:element name="PreferenceNumber" minOccurs="0" type="xs:unsignedInt" />
      <xs:element name="HouseholdContactId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="HouseholdSalutation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType" />
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StatementCodesType">
    <xs:sequence>
      <xs:element name="StatementCode" minOccurs="0" maxOccurs="unbounded" type="xs:token" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StatementsType">
    <xs:sequence>
      <xs:element name="Statement" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ProgramFundingSourcesType">
    <xs:sequence>
      <xs:element name="ProgramFundingSource" minOccurs="0" maxOccurs="unbounded" type="ProgramFundingSourceType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ProgramFundingSourceType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsProgramFundingSourceCodeType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AttendanceTimesType">
    <xs:sequence>
      <xs:element name="AttendanceTime" minOccurs="0" maxOccurs="unbounded" type="AttendanceTimeType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AttendanceTimeType">
    <xs:sequence>
      <xs:element name="AttendanceType" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="AttendanceCode" minOccurs="0" type="AttendanceCodeType" />
      <xs:element name="AttendanceStatus" minOccurs="0" type="AUCodeSetsAttendanceStatusType" />
      <xs:element name="StartTime" minOccurs="0" type="xs:time" />
      <xs:element name="EndTime" minOccurs="0" type="xs:time" />
      <xs:element name="DurationValue" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="TimeTableSubjectRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="AttendanceNote" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PeriodAttendancesType">
    <xs:sequence>
      <xs:element name="PeriodAttendance" minOccurs="0" maxOccurs="unbounded" type="PeriodAttendanceType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PeriodAttendanceType">
    <xs:sequence>
      <xs:element name="AttendanceType" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="AttendanceCode" minOccurs="0" type="AttendanceCodeType" />
      <xs:element name="AttendanceStatus" minOccurs="0" type="AUCodeSetsAttendanceStatusType" />
      <xs:element name="Date" minOccurs="0" type="xs:date" />
      <xs:element name="SessionInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="ScheduledActivityRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="TimetablePeriod" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="DayId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="StartTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="EndTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="TimeIn" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="TimeOut" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="TimeTableCellRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="TimeTableSubjectRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="TeacherList" minOccurs="0" nillable="true" type="ScheduledTeacherListType" />
      <xs:element name="RoomList" minOccurs="0" nillable="true" type="RoomListType" />
      <xs:element name="AttendanceNote" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffSubjectListType">
    <xs:sequence>
      <xs:element name="StaffSubject" minOccurs="0" maxOccurs="unbounded" type="StaffSubjectType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffSubjectType">
    <xs:sequence>
      <xs:element name="PreferenceNumber" minOccurs="0" type="xs:unsignedInt" />
      <xs:element name="SubjectLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="TimeTableSubjectRefId" minOccurs="0" nillable="true" type="RefIdType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeachingGroupListType">
    <xs:sequence>
      <xs:element name="TeachingGroupRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScheduledTeacherListType">
    <xs:sequence>
      <xs:element name="TeacherCover" minOccurs="0" maxOccurs="unbounded" type="TeacherCoverType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeacherCoverType">
    <xs:sequence>
      <xs:element name="StaffPersonalRefId" minOccurs="0" type="IdRefType" />
      <xs:element name="StaffLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="StartTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="FinishTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="Credit" minOccurs="0" nillable="true" type="AUCodeSetsTeacherCoverCreditType" />
      <xs:element name="Supervision" minOccurs="0" nillable="true" type="AUCodeSetsTeacherCoverSupervisionType" />
      <xs:element name="Weighting" minOccurs="0" nillable="true" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RoomListType">
    <xs:sequence>
      <xs:element name="RoomInfoRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffListType">
    <xs:sequence>
      <xs:element name="StaffPersonalRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AlternateIdentificationCodesType">
    <xs:sequence>
      <xs:element name="AlternateIdentificationCodes" minOccurs="0" nillable="true" />
      <xs:element name="AlternateIdentificationCode" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AuthorsType">
    <xs:sequence>
      <xs:element name="Author" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OrganizationsType">
    <xs:sequence>
      <xs:element name="Organization" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PurchasingItemsType">
    <xs:sequence>
      <xs:element name="PurchasingItem" minOccurs="0" maxOccurs="unbounded" type="PurchasingItemType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PurchasingItemType">
    <xs:sequence>
      <xs:element name="ItemNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ItemDescription" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Quantity" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="UnitCost" minOccurs="0" nillable="true" type="MonetaryAmountType" />
      <xs:element name="TotalCost" minOccurs="0" nillable="true" type="MonetaryAmountType" />
      <xs:element name="QuantityDelivered" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="CancelledOrder" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="TaxRate" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="ExpenseAccounts" minOccurs="0" nillable="true" type="ExpenseAccountsType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ExpenseAccountsType">
    <xs:sequence>
      <xs:element name="ExpenseAccount" minOccurs="0" maxOccurs="unbounded" type="ExpenseAccountType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ExpenseAccountType">
    <xs:sequence>
      <xs:element name="AccountCode" minOccurs="0" type="xs:token" />
      <xs:element name="Amount" minOccurs="0" type="MonetaryAmountType" />
      <xs:element name="FinancialAccountRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="AccountingPeriod" minOccurs="0" nillable="true" type="LocalIdType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolProgramListType">
    <xs:sequence>
      <xs:element name="Program" minOccurs="0" maxOccurs="unbounded" type="SchoolProgramType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolProgramType">
    <xs:sequence>
      <xs:element name="Category" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Type" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LearningObjectivesType">
    <xs:sequence>
      <xs:element name="LearningObjective" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RecognitionListType">
    <xs:sequence>
      <xs:element name="Recognition" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LResourcesType">
    <xs:sequence>
      <xs:element name="LearningResourceRefId" minOccurs="0" maxOccurs="unbounded" type="ResourcesType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ResourcesType">
    <xs:simpleContent>
      <xs:extension base="IdRefTypeOrEmpty">
        <xs:attribute name="ResourceType" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="LearningResource" />
              <xs:enumeration value="WorkSample" />
              <xs:enumeration value="AnnotatedWorkSample" />
              <xs:enumeration value="Other" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="SourceObjectsType">
    <xs:sequence>
      <xs:element name="SourceObject" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefTypeOrEmpty">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="Assessment" />
                    <xs:enumeration value="LearningResource" />
                    <xs:enumeration value="Activity" />
                    <xs:enumeration value="Lesson" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentsType">
    <xs:sequence>
      <xs:element name="StudentPersonalRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PrerequisitesType">
    <xs:sequence>
      <xs:element name="Prerequisite" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EssentialMaterialsType">
    <xs:sequence>
      <xs:element name="EssentialMaterial" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TechnicalRequirementsType">
    <xs:sequence>
      <xs:element name="TechnicalRequirement" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SoftwareRequirementListType">
    <xs:sequence>
      <xs:element name="SoftwareRequirement" minOccurs="0" maxOccurs="unbounded" type="SoftwareRequirementType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SoftwareRequirementType">
    <xs:sequence>
      <xs:element name="SoftwareTitle" minOccurs="0" type="xs:string" />
      <xs:element name="Version" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Vendor" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="OS" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HouseholdListType">
    <xs:sequence>
      <xs:element name="Household" minOccurs="0" maxOccurs="unbounded" type="LocalIdType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentSubjectChoiceListType">
    <xs:sequence>
      <xs:element name="StudentSubjectChoice" minOccurs="0" maxOccurs="unbounded" type="StudentSubjectChoiceType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentSubjectChoiceType">
    <xs:sequence>
      <xs:element name="PreferenceNumber" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="SubjectLocalId" minOccurs="0" type="LocalIdType" />
      <xs:element name="StudyDescription" minOccurs="0" nillable="true" type="SubjectAreaType" />
      <xs:element name="OtherSchoolLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="IdentityAssertionsType">
    <xs:sequence>
      <xs:element name="IdentityAssertion" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:normalizedString">
              <xs:attribute name="SchemaName" use="required" type="xs:normalizedString" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LearningStandardsType">
    <xs:sequence>
      <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LearningResourcesType">
    <xs:sequence>
      <xs:element name="LearningResourceRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LearningStandardsDocumentType">
    <xs:sequence>
      <xs:element name="LearningStandardDocumentRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ComponentsType">
    <xs:sequence>
      <xs:element name="Component" minOccurs="0" maxOccurs="unbounded" type="ComponentType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ComponentType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Reference" minOccurs="0" type="xs:string" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Strategies" minOccurs="0" nillable="true" type="StrategiesType" />
      <xs:element name="AssociatedObjects" minOccurs="0" nillable="true" type="AssociatedObjectsType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StrategiesType">
    <xs:sequence>
      <xs:element name="Strategy" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AssociatedObjectsType">
    <xs:sequence>
      <xs:element name="AssociatedObject" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefTypeOrEmpty">
              <xs:attribute name="SIF_RefObject" use="required" type="ObjectNameType" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EvaluationsType">
    <xs:sequence>
      <xs:element name="Evaluation" minOccurs="0" maxOccurs="unbounded" type="EvaluationType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EvaluationType">
    <xs:sequence>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Date" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:complexType name="ApprovalsType">
    <xs:sequence>
      <xs:element name="Approval" minOccurs="0" maxOccurs="unbounded" type="ApprovalType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ApprovalType">
    <xs:sequence>
      <xs:element name="Organization" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Date" minOccurs="0" type="xs:date" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MediaTypesType">
    <xs:sequence>
      <xs:element name="MediaType" minOccurs="0" maxOccurs="unbounded" type="xs:token" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LEAContactListType">
    <xs:sequence>
      <xs:element name="LEAContact" minOccurs="0" maxOccurs="unbounded" type="LEAContactType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LEAContactType">
    <xs:sequence>
      <xs:element name="PublishInDirectory" minOccurs="0" nillable="true" type="PublishInDirectoryType" />
      <xs:element name="ContactInfo" minOccurs="0" type="ContactInfoType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="FinancialAccountRefIdListType">
    <xs:sequence>
      <xs:element name="FinancialAccountRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PasswordListType">
    <xs:sequence>
      <xs:element name="Password" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="XSBase64BinaryOrEmpty">
              <xs:attribute name="Algorithm" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="MD5" />
                    <xs:enumeration value="SHA1" />
                    <xs:enumeration value="DES" />
                    <xs:enumeration value="TripleDES" />
                    <xs:enumeration value="RC2" />
                    <xs:enumeration value="AES" />
                    <xs:enumeration value="RSA" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
              <xs:attribute name="KeyName" use="required" type="xs:normalizedString" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ExclusionRulesType">
    <xs:sequence>
      <xs:element name="ExclusionRule" minOccurs="0" maxOccurs="unbounded" type="ExclusionRuleType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ExclusionRuleType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Type" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="SampleSize" />
              <xs:enumeration value="Description" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="CharacteristicsType">
    <xs:sequence>
      <xs:element name="AggregateCharacteristicInfoRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ContactsType">
    <xs:sequence>
      <xs:element name="Contact" minOccurs="0" maxOccurs="unbounded" type="ContactType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ContactType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameType" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="AddressType" />
      <xs:element name="PhoneNumber" minOccurs="0" nillable="true" type="PhoneNumberType" />
      <xs:element name="Email" minOccurs="0" nillable="true" type="EmailType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeachingGroupPeriodListType">
    <xs:sequence>
      <xs:element name="TeachingGroupPeriod" minOccurs="0" maxOccurs="unbounded" type="TeachingGroupPeriodType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeachingGroupPeriodType">
    <xs:sequence>
      <xs:element name="TimeTableCellRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="RoomNumber" minOccurs="0" nillable="true" type="HomeroomNumberType" />
      <xs:element name="StaffLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="DayId" minOccurs="0" type="LocalIdType" />
      <xs:element name="PeriodId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="StartTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="CellType" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeacherListType">
    <xs:sequence>
      <xs:element name="TeachingGroupTeacher" minOccurs="0" maxOccurs="unbounded" type="TeachingGroupTeacherType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeachingGroupTeacherType">
    <xs:sequence>
      <xs:element name="StaffPersonalRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="StaffLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameOfRecordType" />
      <xs:element name="Association" minOccurs="0" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentListType">
    <xs:sequence>
      <xs:element name="TeachingGroupStudent" minOccurs="0" maxOccurs="unbounded" type="TeachingGroupStudentType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeachingGroupStudentType">
    <xs:sequence>
      <xs:element name="StudentPersonalRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="StudentLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameOfRecordType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TimeTableDayListType">
    <xs:sequence>
      <xs:element name="TimeTableDay" minOccurs="0" maxOccurs="unbounded" type="TimeTableDayType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TimeTableDayType">
    <xs:sequence>
      <xs:element name="DayId" minOccurs="0" type="LocalIdType" />
      <xs:element name="DayTitle" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="TimeTablePeriodList" minOccurs="0" type="TimeTablePeriodListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TimeTablePeriodListType">
    <xs:sequence>
      <xs:element name="TimeTablePeriod" minOccurs="0" maxOccurs="unbounded" type="TimeTablePeriodType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TimeTablePeriodType">
    <xs:sequence>
      <xs:element name="PeriodId" minOccurs="0" type="LocalIdType" />
      <xs:element name="PeriodTitle" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="BellPeriod" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="StartTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="EndTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="RegularSchoolPeriod" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="InstructionalMinutes" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="UseInAttendanceCalculations" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NAPLANClassListType">
    <xs:sequence>
      <xs:element name="ClassCode" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolGroupListType">
    <xs:sequence>
      <xs:element name="SchoolGroup" minOccurs="0" maxOccurs="unbounded" type="LocalIdType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="YearLevelEnrollmentListType">
    <xs:sequence>
      <xs:element name="YearLevelEnrollment" minOccurs="0" maxOccurs="unbounded" type="YearLevelEnrollmentType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="YearLevelEnrollmentType">
    <xs:sequence>
      <xs:element name="Year" minOccurs="0" type="AUCodeSetsYearLevelCodeType" />
      <xs:element name="Enrollment" minOccurs="0" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolFocusListType">
    <xs:sequence>
      <xs:element name="SchoolFocus" minOccurs="0" maxOccurs="unbounded" type="AUCodeSetsSchoolFocusCodeType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AlertMessagesType">
    <xs:sequence>
      <xs:element name="AlertMessage" minOccurs="0" maxOccurs="unbounded" type="AlertMessageType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AlertMessageType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Type" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="Legal" />
              <xs:enumeration value="Discipline" />
              <xs:enumeration value="Educational" />
              <xs:enumeration value="Other" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="MedicalAlertMessagesType">
    <xs:sequence>
      <xs:element name="MedicalAlertMessage" minOccurs="0" maxOccurs="unbounded" type="MedicalAlertMessageType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MedicalAlertMessageType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Severity" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="Low" />
              <xs:enumeration value="Moderate" />
              <xs:enumeration value="High" />
              <xs:enumeration value="Severe" />
              <xs:enumeration value="Unknown" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="OtherIdListType">
    <xs:sequence>
      <xs:element name="OtherId" minOccurs="0" maxOccurs="unbounded" type="OtherIdType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OtherIdType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required" type="xs:normalizedString" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="BaseNameType">
    <xs:sequence>
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="FamilyName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="GivenName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="MiddleName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="FamilyNameFirst" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="PreferredFamilyName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PreferredFamilyNameFirst" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="PreferredGivenName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Suffix" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="FullName" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NameOfRecordType">
    <xs:complexContent>
      <xs:extension base="BaseNameType">
        <xs:attribute name="Type" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="LGL" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="OtherNameType">
    <xs:complexContent>
      <xs:extension base="BaseNameType">
        <xs:attribute name="Type" use="required" type="AUCodeSetsNameUsageTypeType" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:simpleType name="PartialDateType">
    <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:simpleType name="LocalIdType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:complexType name="LocationType">
    <xs:sequence>
      <xs:element name="LocationName" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="LocationRefId" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefTypeOrEmpty">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="SchoolInfo" />
                    <xs:enumeration value="LEAInfo" />
                    <xs:enumeration value="RoomInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Type" use="optional">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="Classroom" />
          <xs:enumeration value="School" />
          <xs:enumeration value="District" />
          <xs:enumeration value="Campus" />
          <xs:enumeration value="IntermediateUnit" />
          <xs:enumeration value="StateEducationAgency" />
          <xs:enumeration value="NonInstructionalSpace" />
          <xs:enumeration value="AthleticVenue" />
          <xs:enumeration value="Other" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:simpleType name="StateProvinceIdType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:complexType name="AttendanceCodeType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsAttendanceCodeType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="YearLevelType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsYearLevelCodeType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PersonInfoType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" type="NameOfRecordType" />
      <xs:element name="OtherNames" minOccurs="0" nillable="true" type="OtherNamesType" />
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="DemographicsType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType" />
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType" />
      <xs:element name="HouseholdContactInfoList" minOccurs="0" nillable="true" type="HouseholdContactInfoListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="YearLevelsType">
    <xs:sequence>
      <xs:element name="YearLevel" minOccurs="0" maxOccurs="unbounded" type="YearLevelType" />
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="SchoolURLType">
    <xs:restriction base="xs:anyURI" />
  </xs:simpleType>

  <xs:complexType name="PrincipalInfoType">
    <xs:sequence>
      <xs:element name="ContactName" minOccurs="0" type="NameOfRecordType" />
      <xs:element name="ContactTitle" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType" />
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolContactType">
    <xs:sequence>
      <xs:element name="PublishInDirectory" minOccurs="0" nillable="true" type="PublishInDirectoryType" />
      <xs:element name="ContactInfo" minOccurs="0" type="ContactInfoType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolContactListType">
    <xs:sequence>
      <xs:element name="SchoolContact" minOccurs="0" maxOccurs="unbounded" type="SchoolContactType" />
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="PublishInDirectoryType">
    <xs:restriction base="AUCodeSetsYesOrNoCategoryType" />
  </xs:simpleType>

  <xs:complexType name="ContactInfoType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" type="NameType" />
      <xs:element name="PositionTitle" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Role" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="AddressType" />
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AddressStreetType">
    <xs:sequence>
      <xs:element name="Line1" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Line2" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Line3" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Complex" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StreetNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StreetPrefix" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StreetName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StreetType" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StreetSuffix" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ApartmentType" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ApartmentNumberPrefix" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ApartmentNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ApartmentNumberSuffix" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AddressType">
    <xs:sequence>
      <xs:element name="EffectiveFromDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EffectiveToDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Street" minOccurs="0" type="AddressStreetType" />
      <xs:element name="City" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="StateProvince" minOccurs="0" nillable="true" type="StateProvinceType" />
      <xs:element name="Country" minOccurs="0" nillable="true" type="CountryType" />
      <xs:element name="PostalCode" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="GridLocation" minOccurs="0" nillable="true" type="GridLocationType" />
      <xs:element name="MapReference" minOccurs="0" nillable="true" type="MapReferenceType" />
      <xs:element name="RadioContact" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Community" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="AddressGlobalUID" minOccurs="0" nillable="true" type="GUIDType" />
      <xs:element name="StatisticalAreas" minOccurs="0" nillable="true" type="StatisticalAreasType" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="AUCodeSetsAddressTypeType" />
    <xs:attribute name="Role" use="required" type="AUCodeSetsAddressRoleType" />
  </xs:complexType>

  <xs:complexType name="MapReferenceType">
    <xs:sequence>
      <xs:element name="XCoordinate" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="YCoordinate" minOccurs="0" type="xs:normalizedString" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:normalizedString" />
  </xs:complexType>

  <xs:complexType name="StatisticalAreasType">
    <xs:sequence>
      <xs:element name="StatisticalArea" minOccurs="0" maxOccurs="unbounded" type="StatisticalAreaType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StatisticalAreaType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="SpatialUnitType" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="MB" />
              <xs:enumeration value="SA1" />
              <xs:enumeration value="SA2" />
              <xs:enumeration value="SA3" />
              <xs:enumeration value="SA4" />
              <xs:enumeration value="GCCSA" />
              <xs:enumeration value="S/T" />
              <xs:enumeration value="LG" />
              <xs:enumeration value="TR" />
              <xs:enumeration value="ILOC" />
              <xs:enumeration value="IARE" />
              <xs:enumeration value="IREG" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="AddressListType">
    <xs:sequence>
      <xs:element name="Address" minOccurs="0" maxOccurs="unbounded" type="AddressType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EmailListType">
    <xs:sequence>
      <xs:element name="Email" minOccurs="0" maxOccurs="unbounded" type="EmailType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EmailType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required" type="AUCodeSetsEmailTypeType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="PhoneNumberListType">
    <xs:sequence>
      <xs:element name="PhoneNumber" minOccurs="0" maxOccurs="unbounded" type="PhoneNumberType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PhoneNumberType">
    <xs:sequence>
      <xs:element name="Number" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Extension" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ListedStatus" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="Preference" minOccurs="0" nillable="true" type="xs:unsignedInt" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="AUCodeSetsTelephoneNumberTypeType" />
  </xs:complexType>

  <xs:simpleType name="CountryType">
    <xs:restriction base="AUCodeSetsStandardAustralianClassificationOfCountriesSACCType" />
  </xs:simpleType>

  <xs:complexType name="GridLocationType">
    <xs:sequence>
      <xs:element name="Latitude" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="-90" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="90" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Longitude" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="-180" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="180" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="OperationalStatusType">
    <xs:restriction base="AUCodeSetsOperationalStatusType" />
  </xs:simpleType>

  <xs:simpleType name="StateProvinceType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="AUCodeSetsStateTerritoryCodeType" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:token" />
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>

  <xs:simpleType name="SchoolYearType">
    <xs:restriction base="xs:gYear" />
  </xs:simpleType>

  <xs:complexType name="ElectronicIdListType">
    <xs:sequence>
      <xs:element name="ElectronicId" minOccurs="0" maxOccurs="unbounded" type="ElectronicIdType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ElectronicIdType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required" type="AUCodeSetsElectronicIdTypeType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="OtherNamesType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" maxOccurs="unbounded" type="OtherNameType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DemographicsType">
    <xs:sequence>
      <xs:element name="IndigenousStatus" minOccurs="0" nillable="true" type="AUCodeSetsIndigenousStatusType" />
      <xs:element name="Sex" minOccurs="0" nillable="true" type="AUCodeSetsSexCodeType" />
      <xs:element name="BirthDate" minOccurs="0" nillable="true" type="BirthDateType" />
      <xs:element name="DateOfDeath" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="BirthDateVerification" minOccurs="0" nillable="true" type="AUCodeSetsBirthdateVerificationType" />
      <xs:element name="PlaceOfBirth" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StateOfBirth" minOccurs="0" nillable="true" type="StateProvinceType" />
      <xs:element name="CountryOfBirth" minOccurs="0" nillable="true" type="CountryType" />
      <xs:element name="CountriesOfCitizenship" minOccurs="0" nillable="true" type="CountryListType" />
      <xs:element name="CountriesOfResidency" minOccurs="0" nillable="true" type="CountryList2Type" />
      <xs:element name="CountryArrivalDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="AustralianCitizenshipStatus" minOccurs="0" nillable="true" type="AUCodeSetsAustralianCitizenshipStatusType" />
      <xs:element name="EnglishProficiency" minOccurs="0" nillable="true" type="EnglishProficiencyType" />
      <xs:element name="LanguageList" minOccurs="0" nillable="true" type="LanguageListType" />
      <xs:element name="DwellingArrangement" minOccurs="0" nillable="true" type="DwellingArrangementType" />
      <xs:element name="Religion" minOccurs="0" nillable="true" type="ReligionType" />
      <xs:element name="ReligiousEventList" minOccurs="0" nillable="true" type="ReligiousEventListType" />
      <xs:element name="ReligiousRegion" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PermanentResident" minOccurs="0" nillable="true" type="AUCodeSetsPermanentResidentStatusType" />
      <xs:element name="VisaSubClass" minOccurs="0" nillable="true" type="VisaSubClassCodeType" />
      <xs:element name="VisaStatisticalCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="VisaExpiryDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="VisaSubClassList" minOccurs="0" nillable="true" type="VisaSubClassListType" />
      <xs:element name="LBOTE" minOccurs="0" nillable="true" type="AUCodeSetsYesOrNoCategoryType" />
      <xs:element name="ImmunisationCertificateStatus" minOccurs="0" nillable="true" type="AUCodeSetsImmunisationCertificateStatusType" />
      <xs:element name="CulturalBackground" minOccurs="0" nillable="true" type="AUCodeSetsAustralianStandardClassificationOfCulturalAndEthnicGroupsASCCEGType" />
      <xs:element name="MaritalStatus" minOccurs="0" nillable="true" type="AUCodeSetsMaritalStatusAIHWType" />
      <xs:element name="MedicareNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EnglishProficiencyType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsEnglishProficiencyType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LanguageListType">
    <xs:sequence>
      <xs:element name="Language" minOccurs="0" maxOccurs="unbounded" type="LanguageBaseType" />
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="BirthDateType">
    <xs:restriction base="xs:date" />
  </xs:simpleType>

  <xs:simpleType name="ProjectedGraduationYearType">
    <xs:restriction base="xs:gYear" />
  </xs:simpleType>

  <xs:simpleType name="OnTimeGraduationYearType">
    <xs:restriction base="xs:gYear" />
  </xs:simpleType>

  <xs:complexType name="RelationshipType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="AUCodeSetsRelationshipToStudentType" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="EducationalLevelType">
    <xs:restriction base="AUCodeSetsSchoolEducationLevelTypeType" />
  </xs:simpleType>

  <xs:simpleType name="GraduationDateType">
    <xs:restriction base="PartialDateType" />
  </xs:simpleType>

  <xs:complexType name="NameType">
    <xs:complexContent>
      <xs:extension base="BaseNameType">
        <xs:attribute name="Type" use="required" type="AUCodeSetsNameUsageTypeType" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:simpleType name="HomeroomNumberType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>

  <xs:complexType name="TimeElementType">
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Code" minOccurs="0" type="xs:token" />
      <xs:element name="Name" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Value" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="StartDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="EndDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="SpanGaps" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SpanGap" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Type" minOccurs="0" type="xs:normalizedString" />
                  <xs:element name="Code" minOccurs="0" type="xs:token" />
                  <xs:element name="Name" minOccurs="0" type="xs:normalizedString" />
                  <xs:element name="Value" minOccurs="0" type="xs:normalizedString" />
                  <xs:element name="StartDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
                  <xs:element name="EndDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="IsCurrent" minOccurs="0" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LifeCycleType">
    <xs:sequence>
      <xs:element name="Created" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="DateTime" minOccurs="0" type="xs:dateTime" />
            <xs:element name="Creators" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Creator" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Name" minOccurs="0" type="xs:normalizedString" />
                        <xs:element name="ID" minOccurs="0" type="xs:normalizedString" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ModificationHistory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Modified" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="By" minOccurs="0" type="xs:normalizedString" />
                  <xs:element name="DateTime" minOccurs="0" type="xs:dateTime" />
                  <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="TimeElements" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TimeElement" minOccurs="0" maxOccurs="unbounded" type="TimeElementType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OtherCodeListType">
    <xs:sequence>
      <xs:element name="OtherCode" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="StateProvince" />
                    <xs:enumeration value="Local" />
                    <xs:enumeration value="Other" />
                    <xs:enumeration value="Text" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ProgramStatusType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="S001" />
            <xs:enumeration value="S002" />
            <xs:enumeration value="S003" />
            <xs:enumeration value="S004" />
            <xs:enumeration value="S005" />
            <xs:enumeration value="S006" />
            <xs:enumeration value="9999" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SubjectAreaListType">
    <xs:sequence>
      <xs:element name="SubjectArea" minOccurs="0" maxOccurs="unbounded" type="SubjectAreaType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ACStrandAreaListType">
    <xs:sequence>
      <xs:element name="ACStrandSubjectArea" minOccurs="0" maxOccurs="unbounded" type="ACStrandSubjectAreaType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SubjectAreaType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ACStrandSubjectAreaType">
    <xs:sequence>
      <xs:element name="ACStrand" minOccurs="0" type="AUCodeSetsACStrandType" />
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="SubjectAreaType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EducationFilterType">
    <xs:sequence>
      <xs:element name="LearningStandardItems" minOccurs="0" nillable="true" type="LearningStandardsType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SIF_ExtendedElementsType">
    <xs:sequence>
      <xs:element name="SIF_ExtendedElement" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="ExtendedContentType">
              <xs:attribute name="Name" use="required" type="xs:normalizedString" />
              <!--<xs:attribute ref="xsi:type" use="optional" />-->
              <xs:attribute name="SIF_Action" use="optional">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="Delete" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SIF_MetadataType">
    <xs:sequence>
      <xs:element name="TimeElements" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TimeElement" minOccurs="0" maxOccurs="unbounded" type="TimeElementType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LifeCycle" minOccurs="0" nillable="true" type="LifeCycleType" />
      <xs:element name="EducationFilter" minOccurs="0" nillable="true" type="EducationFilterType" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReportPackageType">
    <xs:complexContent>
      <xs:extension base="AbstractContentPackageType" />
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="AbstractContentPackageType">
    <xs:sequence>
      <xs:choice>
        <xs:element name="XMLData">
          <xs:complexType>
<xs:sequence>
  <xs:any processContents="lax" xmlns:xs="http://www.w3.org/2001/XMLSchema"  minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="Description" use="optional" type="xs:token" /></xs:complexType>
        </xs:element>
        <xs:element name="TextData">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string">
                <xs:attribute name="MIMEType" use="optional" type="xs:token" />
                <xs:attribute name="FileName" use="optional" type="xs:token" />
                <xs:attribute name="Description" use="optional" type="xs:token" />
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="BinaryData">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="XSBase64BinaryOrEmpty">
                <xs:attribute name="MIMEType" use="required" type="xs:token" />
                <xs:attribute name="FileName" use="optional" type="xs:token" />
                <xs:attribute name="Description" use="optional" type="xs:token" />
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="Reference">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="URL" minOccurs="0" type="xs:anyURI" />
            </xs:sequence>
            <xs:attribute name="MIMEType" use="required" type="xs:token" />
            <xs:attribute name="Description" use="optional" type="xs:token" />
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:complexType name="AbstractContentElementType">
    <xs:sequence>
      <xs:choice>
        <xs:element name="XMLData">
          <xs:complexType>
<xs:sequence>
  <xs:any processContents="lax" xmlns:xs="http://www.w3.org/2001/XMLSchema"  minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="Description" use="optional" type="xs:token" /></xs:complexType>
        </xs:element>
        <xs:element name="TextData">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string">
                <xs:attribute name="MIMEType" use="optional" type="xs:token" />
                <xs:attribute name="FileName" use="optional" type="xs:token" />
                <xs:attribute name="Description" use="optional" type="xs:token" />
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="BinaryData">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="XSBase64BinaryOrEmpty">
                <xs:attribute name="MIMEType" use="required" type="xs:token" />
                <xs:attribute name="FileName" use="optional" type="xs:token" />
                <xs:attribute name="Description" use="optional" type="xs:token" />
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="Reference">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="URL" minOccurs="0" type="xs:anyURI" />
            </xs:sequence>
            <xs:attribute name="MIMEType" use="required" type="xs:token" />
            <xs:attribute name="Description" use="optional" type="xs:token" />
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MonetaryAmountType">
    <xs:simpleContent>
      <xs:extension base="XSDecimalOrEmpty">
        <xs:attribute name="Currency" use="optional" type="ISO4217CurrencyNamesAndCodeElementsType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="ObjectNameType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:NCName">
          <xs:maxLength value="64" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ServiceNameType">
    <xs:restriction base="xs:NCName" />
  </xs:simpleType>

  <xs:complexType name="ObjectType">
    <xs:sequence xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" namespace="##any" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReportDataObjectType">
    <xs:sequence xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="URIOrBinaryType">
    <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:pattern value="[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="MsgIdType">
    <xs:restriction base="GUIDType" />
  </xs:simpleType>

  <xs:simpleType name="RefIdType">
    <xs:restriction base="GUIDType" />
  </xs:simpleType>

  <xs:simpleType name="IdRefType">
    <xs:restriction base="RefIdType" />
  </xs:simpleType>

  <xs:simpleType name="VersionType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <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: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: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>

  <!--XSDecimalOrEmpty-->

<xs:simpleType name="XSDecimalOrEmpty">
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="xs:decimal" />
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="0" />
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<!--XSUnsignedIntOrEmpty-->

<xs:simpleType name="XSUnsignedIntOrEmpty">
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="xs:unsignedInt" />
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="0" />
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<!--RefIdTypeOrEmpty-->

<xs:simpleType name="RefIdTypeOrEmpty">
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="RefIdType" />
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="0" />
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<!--IdRefTypeOrEmpty-->

<xs:simpleType name="IdRefTypeOrEmpty">
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="IdRefType" />
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="0" />
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<!--AUCodeSetsYesOrNoCategoryTypeOrEmpty-->

<xs:simpleType name="AUCodeSetsYesOrNoCategoryTypeOrEmpty">
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="AUCodeSetsYesOrNoCategoryType" />
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="0" />
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<!--URIOrBinaryTypeOrEmpty-->

<xs:simpleType name="URIOrBinaryTypeOrEmpty">
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="URIOrBinaryType" />
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="0" />
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<!--XSBase64BinaryOrEmpty-->

<xs:simpleType name="XSBase64BinaryOrEmpty">
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="xs:base64Binary" />
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="0" />
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

</xs:schema>