<!--
		SIF Data Model Implementation Specification (NA) 4.0
		(June 24, 2019)
	-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sifassociation.org/datamodel/na/4.x" targetNamespace="http://www.sifassociation.org/datamodel/na/4.x" elementFormDefault="qualified" version="4.0"
>
  <!--DataModelTaskForce-->


  <!--SEAInfo-->

  <xs:complexType name="SEAInfoType">
    <xs:sequence>
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="NCESId" minOccurs="0" nillable="true" type="NCESIdType" />
      <xs:element name="SEAName" type="xs:normalizedString" />
      <xs:element name="SEAURL" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="CSSOContact" type="ContactInfoType" />
      <xs:element name="SEAContactList" minOccurs="0" nillable="true" type="SEAContactListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey1">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey1">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="OperationalStatus" minOccurs="0" nillable="true" type="OperationalStatusType" />
      <xs:element name="EDENInfo" minOccurs="0" nillable="true" type="EDENInfoType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey1">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="SEAInfo" type="SEAInfoType">
    <xs:key name="SEAInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="SEAInfoCollectionType">
    <xs:sequence>
      <xs:element name="SEAInfo" type="SEAInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SEAInfos" type="SEAInfoCollectionType" />


  <!--StudentLEARelationship-->

  <xs:complexType name="StudentLEARelationshipType">
    <xs:sequence>
      <xs:element name="MembershipType">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="LEARelationshipType" type="OrganizationRelationshipType" />
      <xs:element name="EntryDate" type="xs:date" />
      <xs:element name="EntryType" minOccurs="0" nillable="true" type="StudentEntryTypeType" />
      <xs:element name="ExitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExitType" minOccurs="0" nillable="true" type="StudentExitTypeType" />
      <xs:element name="ExitStatus" minOccurs="0" nillable="true" type="StudentExitStatusType" />
      <xs:element name="NonResidentAttendReason" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="GradeLevel" minOccurs="0" nillable="true" type="GradeLevelType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey2">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="LEAInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentLEARelationship" type="StudentLEARelationshipType">
    <xs:key name="StudentLEARelationshipKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentLEARelationshipCollectionType">
    <xs:sequence>
      <xs:element name="StudentLEARelationship" type="StudentLEARelationshipType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentLEARelationships" type="StudentLEARelationshipCollectionType" />


  <!--XPressWorkingGroup-->


  <!--xCalendar-->

  <xs:complexType name="xCalendarType">
    <xs:sequence>
      <xs:element name="schoolRefId" type="gRefIdPointerType" />
      <xs:element name="schoolYear" minOccurs="0" nillable="true" type="xSchoolYearType" />
      <xs:element name="sessions" minOccurs="0" nillable="true" type="xSessionListType" />
    </xs:sequence>
    <xs:attribute name="refId" use="required" type="gRefIdType" />
  </xs:complexType>

  <xs:element name="xCalendar" type="xCalendarType">
    <xs:key name="xCalendarKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@refId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="xCalendarCollectionType">
    <xs:sequence>
      <xs:element name="xCalendar" type="xCalendarType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="xCalendars" type="xCalendarCollectionType" />


  <!--xContact-->

  <xs:complexType name="xContactType">
    <xs:sequence>
      <xs:element name="name" type="xPersonNameType" />
      <xs:element name="otherNames" minOccurs="0" nillable="true" type="xOtherPersonNameListType" />
      <xs:element name="localId" minOccurs="0" nillable="true" type="xPersonIdType" />
      <xs:element name="loginId" minOccurs="0" nillable="true" type="xLoginIdType" />
      <xs:element name="otherIds" minOccurs="0" nillable="true" type="xOtherPersonIdListType" />
      <xs:element name="address" minOccurs="0" nillable="true" type="xPersonAddressType" />
      <xs:element name="phoneNumber" minOccurs="0" nillable="true" type="xTelephoneType" />
      <xs:element name="otherPhoneNumbers" minOccurs="0" nillable="true" type="xTelephoneListType" />
      <xs:element name="email" minOccurs="0" nillable="true" type="xEmailType" />
      <xs:element name="otherEmails" minOccurs="0" nillable="true" type="xEmailListType" />
      <xs:element name="sex" minOccurs="0" nillable="true" type="xSexType" />
      <xs:element name="employerType" minOccurs="0" nillable="true" type="xEmployerType" />
      <xs:element name="relationships" minOccurs="0" nillable="true" type="xContactStudentRelationshipListType" />
    </xs:sequence>
    <xs:attribute name="refId" use="required" type="gRefIdType" />
  </xs:complexType>

  <xs:element name="xContact" type="xContactType">
    <xs:key name="xContactKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@refId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="xContactCollectionType">
    <xs:sequence>
      <xs:element name="xContact" type="xContactType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="xContacts" type="xContactCollectionType" />


  <!--xCourse-->

  <xs:complexType name="xCourseType">
    <xs:sequence>
      <xs:element name="schoolRefId" type="gRefIdPointerType" />
      <xs:element name="schoolCourseId" minOccurs="0" nillable="true" type="xCourseIdType" />
      <xs:element name="leaCourseId" minOccurs="0" nillable="true" type="xCourseIdType" />
      <xs:element name="otherIds" minOccurs="0" nillable="true" type="xOtherCourseIdListType" />
      <xs:element name="courseTitle" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="subject" minOccurs="0" nillable="true" type="xSubjectType" />
      <xs:element name="applicableEducationLevels" minOccurs="0" nillable="true" type="xApplicableEducationLevelListType" />
      <xs:element name="scedCourseCode" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="scedCourseLevelCode" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="scedCourseSubjectAreaCode" minOccurs="0" nillable="true" type="xs:token" />
    </xs:sequence>
    <xs:attribute name="refId" use="required" type="gRefIdType" />
  </xs:complexType>

  <xs:element name="xCourse" type="xCourseType">
    <xs:key name="xCourseKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@refId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="xCourseCollectionType">
    <xs:sequence>
      <xs:element name="xCourse" type="xCourseType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="xCourses" type="xCourseCollectionType" />


  <!--xIndividualizedEducationPlan-->

  <xs:complexType name="xIndividualizedEducationPlanType">
    <xs:sequence>
      <xs:element name="iepAdministrativeData" minOccurs="0" nillable="true" type="iepAdministrativeDataType" />
      <xs:element name="iepEligibility" minOccurs="0" nillable="true" type="iepEligibilityType" />
      <xs:element name="iepPlan" minOccurs="0" nillable="true" type="iepPlanType" />
    </xs:sequence>
    <xs:attribute name="refId" use="required" type="gRefIdType" />
  </xs:complexType>

  <xs:element name="xIndividualizedEducationPlan" type="xIndividualizedEducationPlanType">
    <xs:key name="xIndividualizedEducationPlanKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@refId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="xIndividualizedEducationPlanCollectionType">
    <xs:sequence>
      <xs:element name="xIndividualizedEducationPlan" type="xIndividualizedEducationPlanType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="xIndividualizedEducationPlans" type="xIndividualizedEducationPlanCollectionType" />


  <!--xLea-->

  <xs:complexType name="xLeaType">
    <xs:sequence>
      <xs:element name="localId" minOccurs="0" nillable="true" type="xOrganizationIdType" />
      <xs:element name="leaRefId" minOccurs="0" nillable="true" type="gRefIdPointerType" />
      <xs:element name="stateProvinceId" minOccurs="0" nillable="true" type="xOrganizationIdType" />
      <xs:element name="ncesId" minOccurs="0" nillable="true" type="xOrganizationIdType" />
      <xs:element name="leaName" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="address" minOccurs="0" nillable="true" type="xOrganizationAddressType" />
      <xs:element name="phoneNumber" minOccurs="0" nillable="true" type="xTelephoneType" />
      <xs:element name="otherPhoneNumbers" minOccurs="0" nillable="true" type="xTelephoneListType" />
    </xs:sequence>
    <xs:attribute name="refId" use="required" type="gRefIdType" />
  </xs:complexType>

  <xs:element name="xLea" type="xLeaType">
    <xs:key name="xLeaKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@refId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="xLeaCollectionType">
    <xs:sequence>
      <xs:element name="xLea" type="xLeaType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="xLeas" type="xLeaCollectionType" />


  <!--xRoster-->

  <xs:complexType name="xRosterType">
    <xs:sequence>
      <xs:element name="courseRefId" minOccurs="0" nillable="true" type="gRefIdPointerType" />
      <xs:element name="courseTitle" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="sectionRefId" minOccurs="0" nillable="true" type="gRefIdPointerType" />
      <xs:element name="subject" minOccurs="0" nillable="true" type="xSubjectType" />
      <xs:element name="schoolRefId" type="gRefIdPointerType" />
      <xs:element name="schoolSectionId" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="schoolYear" minOccurs="0" nillable="true" type="xSchoolYearType" />
      <xs:element name="meetingTimes" minOccurs="0" nillable="true" type="xMeetingTimeListType" />
      <xs:element name="students" minOccurs="0" nillable="true" type="xStudentReferenceListType" />
      <xs:element name="primaryStaff" minOccurs="0" nillable="true" type="xStaffReferenceType" />
      <xs:element name="otherStaffs" minOccurs="0" nillable="true" type="xStaffReferenceListType" />
    </xs:sequence>
    <xs:attribute name="refId" use="required" type="gRefIdType" />
  </xs:complexType>

  <xs:element name="xRoster" type="xRosterType">
    <xs:key name="xRosterKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@refId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="xRosterCollectionType">
    <xs:sequence>
      <xs:element name="xRoster" type="xRosterType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="xRosters" type="xRosterCollectionType" />


  <!--xSchool-->

  <xs:complexType name="xSchoolType">
    <xs:sequence>
      <xs:element name="leaRefId" type="gRefIdPointerType" />
      <xs:element name="lea" minOccurs="0" nillable="true" type="xLeaType" />
      <xs:element name="localId" minOccurs="0" nillable="true" type="xOrganizationIdType" />
      <xs:element name="stateProvinceId" minOccurs="0" nillable="true" type="xOrganizationIdType" />
      <xs:element name="otherIds" minOccurs="0" nillable="true" type="xOtherOrganizationIdListType" />
      <xs:element name="schoolName" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="gradeLevels" minOccurs="0" nillable="true" type="xYearGroupListType" />
      <xs:element name="address" minOccurs="0" nillable="true" type="xOrganizationAddressType" />
      <xs:element name="phoneNumber" minOccurs="0" nillable="true" type="xTelephoneType" />
      <xs:element name="otherPhoneNumbers" minOccurs="0" nillable="true" type="xTelephoneListType" />
    </xs:sequence>
    <xs:attribute name="refId" use="required" type="gRefIdType" />
  </xs:complexType>

  <xs:element name="xSchool" type="xSchoolType">
    <xs:key name="xSchoolKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@refId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="xSchoolCollectionType">
    <xs:sequence>
      <xs:element name="xSchool" type="xSchoolType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="xSchools" type="xSchoolCollectionType" />


  <!--xStaff-->

  <xs:complexType name="xStaffType">
    <xs:sequence>
      <xs:element name="name" minOccurs="0" nillable="true" type="xPersonNameType" />
      <xs:element name="localId" minOccurs="0" nillable="true" type="xPersonIdType" />
      <xs:element name="loginId" minOccurs="0" nillable="true" type="xLoginIdType" />
      <xs:element name="stateProvinceId" minOccurs="0" nillable="true" type="xPersonIdType" />
      <xs:element name="otherIds" minOccurs="0" nillable="true" type="xOtherPersonIdListType" />
      <xs:element name="sex" minOccurs="0" nillable="true" type="xSexType" />
      <xs:element name="email" minOccurs="0" nillable="true" type="xEmailType" />
      <xs:element name="primaryAssignment" minOccurs="0" nillable="true" type="xStaffPersonAssignmentType" />
      <xs:element name="otherAssignments" minOccurs="0" nillable="true" type="xStaffPersonAssignmentListType" />
    </xs:sequence>
    <xs:attribute name="refId" use="required" type="gRefIdType" />
  </xs:complexType>

  <xs:element name="xStaff" type="xStaffType">
    <xs:key name="xStaffKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@refId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="xStaffCollectionType">
    <xs:sequence>
      <xs:element name="xStaff" type="xStaffType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="xStaffs" type="xStaffCollectionType" />


  <!--xStudent-->

  <xs:complexType name="xStudentType">
    <xs:sequence>
      <xs:element name="name" minOccurs="0" nillable="true" type="xPersonNameType" />
      <xs:element name="otherNames" minOccurs="0" nillable="true" type="xOtherPersonNameListType" />
      <xs:element name="localId" minOccurs="0" nillable="true" type="xPersonIdType" />
      <xs:element name="loginId" minOccurs="0" nillable="true" type="xLoginIdType" />
      <xs:element name="stateProvinceId" minOccurs="0" nillable="true" type="xPersonIdType" />
      <xs:element name="otherIds" minOccurs="0" nillable="true" type="xOtherPersonIdListType" />
      <xs:element name="address" minOccurs="0" nillable="true" type="xPersonAddressType" />
      <xs:element name="otherAddresses" minOccurs="0" nillable="true" type="xOtherPersonAddressListType" />
      <xs:element name="phoneNumber" minOccurs="0" nillable="true" type="xTelephoneType" />
      <xs:element name="otherPhoneNumbers" minOccurs="0" nillable="true" type="xTelephoneListType" />
      <xs:element name="email" minOccurs="0" nillable="true" type="xEmailType" />
      <xs:element name="otherEmails" minOccurs="0" nillable="true" type="xEmailListType" />
      <xs:element name="demographics" minOccurs="0" nillable="true" type="xDemographicsType" />
      <xs:element name="enrollment" minOccurs="0" nillable="true" type="xEnrollmentType" />
      <xs:element name="otherEnrollments" minOccurs="0" nillable="true" type="xEnrollmentListType" />
      <xs:element name="academicSummary" minOccurs="0" nillable="true" type="xAcademicSummaryType" />
      <xs:element name="studentContacts" minOccurs="0" nillable="true" type="xStudentContactListType" />
      <xs:element name="languages" minOccurs="0" nillable="true" type="xLanguageListType" />
    </xs:sequence>
    <xs:attribute name="refId" use="required" type="gRefIdType" />
  </xs:complexType>

  <xs:element name="xStudent" type="xStudentType">
    <xs:key name="xStudentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@refId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="xStudentCollectionType">
    <xs:sequence>
      <xs:element name="xStudent" type="xStudentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="xStudents" type="xStudentCollectionType" />


  <!--xTransferIep-->

  <xs:complexType name="xTransferIepType">
    <xs:sequence>
      <xs:element name="referenceObjects" minOccurs="0" nillable="true" type="tiepReferenceObjectsType" />
      <xs:element name="iep" minOccurs="0" nillable="true" type="xIepType" />
      <xs:element name="historyList" minOccurs="0" nillable="true" type="tiepHistoryListType" />
    </xs:sequence>
    <xs:attribute name="refId" use="required" type="gRefIdType" />
  </xs:complexType>

  <xs:element name="xTransferIep" type="xTransferIepType">
    <xs:key name="xTransferIepKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@refId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="xTransferIepCollectionType">
    <xs:sequence>
      <xs:element name="xTransferIep" type="xTransferIepType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="xTransferIeps" type="xTransferIepCollectionType" />


  <!--DataWarehouseWorkingGroup-->


  <!--AggregateStatisticInfo-->

  <xs:complexType name="AggregateStatisticInfoType">
    <xs:sequence>
      <xs:element name="StatisticName" type="xs:token" />
      <xs:element name="CalculationRule" minOccurs="0" nillable="true" type="CalculationRuleType" />
      <xs:element name="ApprovalDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExpirationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExclusionRules" minOccurs="0" nillable="true" type="ExclusionRuleListType" />
      <xs:element name="Source" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="EffectiveDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DiscontinueDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Location" minOccurs="0" nillable="true" type="AggregateStatisticInfoLocationType" />
      <xs:element name="Measure" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey3">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="AggregateStatisticInfo" type="AggregateStatisticInfoType">
    <xs:key name="AggregateStatisticInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AggregateStatisticInfoCollectionType">
    <xs:sequence>
      <xs:element name="AggregateStatisticInfo" type="AggregateStatisticInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AggregateStatisticInfos" type="AggregateStatisticInfoCollectionType" />


  <!--AggregateCharacteristicInfo-->

  <xs:complexType name="AggregateCharacteristicInfoType">
    <xs:sequence>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Definition" type="xs:token" />
      <xs:element name="ElementName" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey4">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="AggregateCharacteristicInfo" type="AggregateCharacteristicInfoType">
    <xs:key name="AggregateCharacteristicInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AggregateCharacteristicInfoCollectionType">
    <xs:sequence>
      <xs:element name="AggregateCharacteristicInfo" type="AggregateCharacteristicInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AggregateCharacteristicInfos" type="AggregateCharacteristicInfoCollectionType" />


  <!--AggregateStatisticFact-->

  <xs:complexType name="AggregateStatisticFactType">
    <xs:sequence>
      <xs:element name="AggregateStatisticInfoRefId" type="IdRefType" />
      <xs:element name="Characteristics" type="AggregateCharacteristicInfoRefIdListType" />
      <xs:element name="Excluded" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Value" type="xs:decimal" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey5">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="AggregateStatisticFact" type="AggregateStatisticFactType">
    <xs:key name="AggregateStatisticFactKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AggregateStatisticFactCollectionType">
    <xs:sequence>
      <xs:element name="AggregateStatisticFact" type="AggregateStatisticFactType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AggregateStatisticFacts" type="AggregateStatisticFactCollectionType" />


  <!--FoodServicesWorkingGroup-->


  <!--StudentMeal-->

  <xs:complexType name="StudentMealType">
    <xs:sequence>
      <xs:element name="MealStatus" minOccurs="0" nillable="true" type="MealStatusType" />
      <xs:element name="HistoricalMealStatus" minOccurs="0" nillable="true" type="MealStatusListType" />
      <xs:element name="LastBreakfastDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="LastLunchDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Amounts" minOccurs="0" nillable="true" type="FSAmountListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey6">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="StudentMeal" type="StudentMealType">
    <xs:key name="StudentMealKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@StudentPersonalRefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentMealCollectionType">
    <xs:sequence>
      <xs:element name="StudentMeal" type="StudentMealType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentMeals" type="StudentMealCollectionType" />


  <!--FoodserviceItem-->

  <xs:complexType name="FoodserviceItemType">
    <xs:sequence>
      <xs:element name="LocalId" type="LocalIdType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ElectronicIdList" minOccurs="0" nillable="true" type="ElectronicIdListType" />
      <xs:element name="ItemCategory" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey7">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceItem" type="FoodserviceItemType">
    <xs:key name="FoodserviceItemKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceItemCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceItem" type="FoodserviceItemType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceItems" type="FoodserviceItemCollectionType" />


  <!--FoodserviceItemUnit-->

  <xs:complexType name="FoodserviceItemUnitType">
    <xs:sequence>
      <xs:element name="FoodserviceItemRefId" type="IdRefType" />
      <xs:element name="Description" type="xs:string" />
      <xs:element name="MeasureDescriptionCode" type="xs:normalizedString" />
      <xs:element name="GramWeight" type="xs:decimal" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey8">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceItemUnit" type="FoodserviceItemUnitType">
    <xs:key name="FoodserviceItemUnitKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceItemUnitCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceItemUnit" type="FoodserviceItemUnitType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceItemUnits" type="FoodserviceItemUnitCollectionType" />


  <!--FoodserviceItemPortion-->

  <xs:complexType name="FoodserviceItemPortionType">
    <xs:sequence>
      <xs:element name="FoodserviceItemUnitRefId" type="IdRefType" />
      <xs:element name="ItemPortionQuantity" type="xs:decimal" />
      <xs:element name="ItemPortionType">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey9">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceItemPortion" type="FoodserviceItemPortionType">
    <xs:key name="FoodserviceItemPortionKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceItemPortionCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceItemPortion" type="FoodserviceItemPortionType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceItemPortions" type="FoodserviceItemPortionCollectionType" />


  <!--FoodserviceReimbursementRates-->

  <xs:complexType name="FoodserviceReimbursementRatesType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="Program" type="FundedProgramType" />
      <xs:element name="Agencies" type="FoodserviceReimbursementAgencyListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey10">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceReimbursementRates" type="FoodserviceReimbursementRatesType">
    <xs:key name="FoodserviceReimbursementRatesKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceReimbursementRatesCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceReimbursementRates" type="FoodserviceReimbursementRatesType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceReimbursementRatess" type="FoodserviceReimbursementRatesCollectionType" />


  <!--FoodserviceMealPrices-->

  <xs:complexType name="FoodserviceMealPricesType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="Program" type="FundedProgramType" />
      <xs:element name="Prices" type="MealPriceListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey11">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceMealPrices" type="FoodserviceMealPricesType">
    <xs:key name="FoodserviceMealPricesKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceMealPricesCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceMealPrices" type="FoodserviceMealPricesType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceMealPricess" type="FoodserviceMealPricesCollectionType" />


  <!--StaffMeal-->

  <xs:complexType name="StaffMealType">
    <xs:sequence>
      <xs:element name="EarnedStatus" type="EarnedStatusType" />
      <xs:element name="LastBreakfastDate" type="xs:date" />
      <xs:element name="LastLunchDate" type="xs:date" />
      <xs:element name="Amounts" type="FSAmountListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey12">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StaffPersonalRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="StaffMeal" type="StaffMealType">
    <xs:key name="StaffMealKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@StaffPersonalRefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StaffMealCollectionType">
    <xs:sequence>
      <xs:element name="StaffMeal" type="StaffMealType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StaffMeals" type="StaffMealCollectionType" />


  <!--FoodserviceTransaction-->

  <xs:complexType name="FoodserviceTransactionType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="Program" type="FundedProgramType" />
      <xs:element name="TransactionDate" type="xs:date" />
      <xs:element name="TransactionTime" type="xs:time" />
      <xs:element name="TransactionTypes" type="FoodserviceTransactionListType" />
      <xs:element name="Customer" type="FoodserviceCustomerType" />
      <xs:element name="Amount" type="FSAmountType" />
      <xs:element name="Tax" minOccurs="0" nillable="true" type="MonetaryAmountType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Voided">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey13">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceTransaction" type="FoodserviceTransactionType">
    <xs:key name="FoodserviceTransactionKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceTransactionCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceTransaction" type="FoodserviceTransactionType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceTransactions" type="FoodserviceTransactionCollectionType" />


  <!--FoodserviceTransactionDetails-->

  <xs:complexType name="FoodserviceTransactionDetailsType">
    <xs:sequence>
      <xs:element name="FoodserviceTransactionRefId" type="IdRefType" />
      <xs:element name="Amounts" type="FSAmountListType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey14">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceTransactionDetails" type="FoodserviceTransactionDetailsType">
    <xs:key name="FoodserviceTransactionDetailsKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceTransactionDetailsCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceTransactionDetails" type="FoodserviceTransactionDetailsType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceTransactionDetailss" type="FoodserviceTransactionDetailsCollectionType" />


  <!--FoodserviceTransactionPayMethod-->

  <xs:complexType name="FoodserviceTransactionPayMethodType">
    <xs:sequence>
      <xs:element name="FoodserviceTransactionRefId" type="IdRefType" />
      <xs:element name="TransactionPayMethods" type="FoodservicePayMethodListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey15">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceTransactionPayMethod" type="FoodserviceTransactionPayMethodType">
    <xs:key name="FoodserviceTransactionPayMethodKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceTransactionPayMethodCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceTransactionPayMethod" type="FoodserviceTransactionPayMethodType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceTransactionPayMethods" type="FoodserviceTransactionPayMethodCollectionType" />


  <!--FoodserviceSales-->

  <xs:complexType name="FoodserviceSalesType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="Date" type="xs:date" />
      <xs:element name="Program" type="FundedProgramType" />
      <xs:element name="SalesAmounts" type="FoodserviceSalesAmountListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey16">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceSales" type="FoodserviceSalesType">
    <xs:key name="FoodserviceSalesKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceSalesCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceSales" type="FoodserviceSalesType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceSaless" type="FoodserviceSalesCollectionType" />


  <!--FoodserviceItemSales-->

  <xs:complexType name="FoodserviceItemSalesType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="Date" type="xs:date" />
      <xs:element name="Program" type="FundedProgramType" />
      <xs:element name="ItemQuantities" type="FoodserviceItemQuantityListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey17">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceItemSales" type="FoodserviceItemSalesType">
    <xs:key name="FoodserviceItemSalesKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceItemSalesCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceItemSales" type="FoodserviceItemSalesType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceItemSaless" type="FoodserviceItemSalesCollectionType" />


  <!--FoodserviceMenuPlan-->

  <xs:complexType name="FoodserviceMenuPlanType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="GradeLevels" type="GradeLevelsType" />
      <xs:element name="MenuPlanDate" type="xs:date" />
      <xs:element name="Program" type="FundedProgramType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ProjectedParticipation" type="xs:string" />
      <xs:element name="MenuPlanQuantities" type="MenuPlanQuantityListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey18">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceMenuPlan" type="FoodserviceMenuPlanType">
    <xs:key name="FoodserviceMenuPlanKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceMenuPlanCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceMenuPlan" type="FoodserviceMenuPlanType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceMenuPlans" type="FoodserviceMenuPlanCollectionType" />


  <!--FoodserviceMilkSales-->

  <xs:complexType name="FoodserviceMilkSalesType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="Date" type="xs:date" />
      <xs:element name="Program" type="FundedProgramType" />
      <xs:element name="SaleQuantities" type="MilkSaleQuantityListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey19">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceMilkSales" type="FoodserviceMilkSalesType">
    <xs:key name="FoodserviceMilkSalesKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceMilkSalesCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceMilkSales" type="FoodserviceMilkSalesType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceMilkSaless" type="FoodserviceMilkSalesCollectionType" />


  <!--FoodservicePurchaseTransaction-->

  <xs:complexType name="FoodservicePurchaseTransactionType">
    <xs:sequence>
      <xs:element name="FoodserviceTransactionRefId" type="IdRefType" />
      <xs:element name="PurchaseQuantities" type="FoodservicePurchaseQuantityListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey20">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodservicePurchaseTransaction" type="FoodservicePurchaseTransactionType">
    <xs:key name="FoodservicePurchaseTransactionKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodservicePurchaseTransactionCollectionType">
    <xs:sequence>
      <xs:element name="FoodservicePurchaseTransaction" type="FoodservicePurchaseTransactionType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodservicePurchaseTransactions" type="FoodservicePurchaseTransactionCollectionType" />


  <!--FoodserviceStaffEnrollmentCount-->

  <xs:complexType name="FoodserviceStaffEnrollmentCountType">
    <xs:sequence>
      <xs:element name="Program" type="FundedProgramType" />
      <xs:element name="Counts" type="FSCountListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey21">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="Date" use="required" type="xs:date" />
  </xs:complexType>

  <xs:element name="FoodserviceStaffEnrollmentCount" type="FoodserviceStaffEnrollmentCountType">
    <xs:key name="FoodserviceStaffEnrollmentCountKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@SchoolInfoRefId" />
      <xs:field xpath="@Date" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceStaffEnrollmentCountCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceStaffEnrollmentCount" type="FoodserviceStaffEnrollmentCountType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceStaffEnrollmentCounts" type="FoodserviceStaffEnrollmentCountCollectionType" />


  <!--FoodserviceStaffMealCounts-->

  <xs:complexType name="FoodserviceStaffMealCountsType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="Date" type="xs:date" />
      <xs:element name="Program">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Type" use="required" type="xs:string" />
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Counts" type="FSCountListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey22">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceStaffMealCounts" type="FoodserviceStaffMealCountsType">
    <xs:key name="FoodserviceStaffMealCountsKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceStaffMealCountsCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceStaffMealCounts" type="FoodserviceStaffMealCountsType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceStaffMealCountss" type="FoodserviceStaffMealCountsCollectionType" />


  <!--FoodserviceStudentEnrollmentCount-->

  <xs:complexType name="FoodserviceStudentEnrollmentCountType">
    <xs:sequence>
      <xs:element name="Program" type="FundedProgramType" />
      <xs:element name="Counts" type="FSCountListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey23">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="Date" use="required" type="xs:date" />
  </xs:complexType>

  <xs:element name="FoodserviceStudentEnrollmentCount" type="FoodserviceStudentEnrollmentCountType">
    <xs:key name="FoodserviceStudentEnrollmentCountKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@SchoolInfoRefId" />
      <xs:field xpath="@Date" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceStudentEnrollmentCountCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceStudentEnrollmentCount" type="FoodserviceStudentEnrollmentCountType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceStudentEnrollmentCounts" type="FoodserviceStudentEnrollmentCountCollectionType" />


  <!--FoodserviceStudentMealCounts-->

  <xs:complexType name="FoodserviceStudentMealCountsType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="Date" type="xs:date" />
      <xs:element name="Program" type="FundedProgramType" />
      <xs:element name="Counts" type="FSCountListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey24">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FoodserviceStudentMealCounts" type="FoodserviceStudentMealCountsType">
    <xs:key name="FoodserviceStudentMealCountsKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FoodserviceStudentMealCountsCollectionType">
    <xs:sequence>
      <xs:element name="FoodserviceStudentMealCounts" type="FoodserviceStudentMealCountsType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FoodserviceStudentMealCountss" type="FoodserviceStudentMealCountsCollectionType" />


  <!--StudentRecordExchangeTaskForce-->


  <!--StudentRecordExchange-->

  <xs:complexType name="StudentRecordExchangeType">
    <xs:sequence>
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="StudentPersonalRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="Records" type="StudentRecordsType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey25">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="StudentRecordExchange" type="StudentRecordExchangeType" />

  <xs:complexType name="StudentRecordExchangeCollectionType">
    <xs:sequence>
      <xs:element name="StudentRecordExchange" type="StudentRecordExchangeType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentRecordExchanges" type="StudentRecordExchangeCollectionType" />


  <!--StudentDemographicRecord-->

  <xs:complexType name="StudentDemographicRecordType">
    <xs:sequence>
      <xs:element name="ReportingDate" type="xs:date" />
      <xs:element name="StudentPersonalData" type="StudentPersonalDataType" />
      <xs:element name="StudentContactsSummary" minOccurs="0" nillable="true" type="StudentContactsSummaryType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey26">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SIF_RefId" use="required" type="RefIdType" />
    <xs:attribute name="SIF_RefObject" use="required" type="xs:token" />
    <xs:attribute name="SIF_RefObjectCodeset" use="optional" type="xs:token" />
  </xs:complexType>

  <xs:element name="StudentDemographicRecord" type="StudentDemographicRecordType">
    <xs:key name="StudentDemographicRecordKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentDemographicRecordCollectionType">
    <xs:sequence>
      <xs:element name="StudentDemographicRecord" type="StudentDemographicRecordType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentDemographicRecords" type="StudentDemographicRecordCollectionType" />


  <!--StudentAcademicRecord-->

  <xs:complexType name="StudentAcademicRecordType">
    <xs:sequence>
      <xs:element name="ReportingDate" type="xs:date" />
      <xs:element name="StudentSchoolEnrollmentData" type="StudentSchoolEnrollmentDataType" />
      <xs:element name="DistrictEntryDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="SchoolAttendanceHistory" type="SchoolAttendanceHistoryListType" />
      <xs:element name="EnrollmentHistory" minOccurs="0" nillable="true" type="StudentSchoolEnrollmentSummaryListType" />
      <xs:element name="CurrentCourseActivity" minOccurs="0" nillable="true" type="CurrentCourseActivityType" />
      <xs:element name="CourseHistory" minOccurs="0" nillable="true" type="CourseHistoryTermListType" />
      <xs:element name="AcademicPerformanceHistory" minOccurs="0" nillable="true" type="AcademicPerformanceHistoryType" />
      <xs:element name="AcademicPerformanceSummary" type="AcademicPerformanceSummaryType" />
      <xs:element name="AssessmentPerformanceHistory" minOccurs="0" nillable="true" type="AssessmentPerformanceHistoryListType" />
      <xs:element name="AdditionalGraduationRequirementPerformanceHistory" minOccurs="0" nillable="true" type="AdditionalGraduationRequirementPerformanceHistoryListType" />
      <xs:element name="ActivityAwardHistory" minOccurs="0" nillable="true" type="ActivityAwardHistoryListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey27">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SIF_RefId" use="required" type="RefIdType" />
    <xs:attribute name="SIF_RefObject" use="required" type="xs:token" />
    <xs:attribute name="SIF_RefObjectCodeset" use="optional" type="xs:token" />
  </xs:complexType>

  <xs:element name="StudentAcademicRecord" type="StudentAcademicRecordType">
    <xs:key name="StudentAcademicRecordKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentAcademicRecordCollectionType">
    <xs:sequence>
      <xs:element name="StudentAcademicRecord" type="StudentAcademicRecordType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentAcademicRecords" type="StudentAcademicRecordCollectionType" />


  <!--StudentSpecialEducationRecord-->

  <xs:complexType name="StudentSpecialEducationRecordType">
    <xs:sequence>
      <xs:element name="ReportingDate" type="xs:date" />
      <xs:element name="LEAInfoData" type="LEAInfoSummaryCleanType" />
      <xs:element name="SchoolInfoData" type="SchoolInfoMiniSummaryType" />
      <xs:element name="StudentParticipationData" type="StudentParticipationDataType" />
      <xs:element name="StudentParticipationList" minOccurs="0" nillable="true" type="StudentSpecialEducationSummaryStudentParticipationListType" />
      <xs:element name="StudentPlacementList" minOccurs="0" nillable="true" type="StudentSpecialEducationSummaryStudentPlacementListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey28">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SIF_RefId" use="required" type="RefIdType" />
    <xs:attribute name="SIF_RefObject" use="required" type="xs:token" />
    <xs:attribute name="SIF_RefObjectCodeset" use="optional" type="xs:token" />
  </xs:complexType>

  <xs:element name="StudentSpecialEducationRecord" type="StudentSpecialEducationRecordType">
    <xs:key name="StudentSpecialEducationRecordKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentSpecialEducationRecordCollectionType">
    <xs:sequence>
      <xs:element name="StudentSpecialEducationRecord" type="StudentSpecialEducationRecordType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentSpecialEducationRecords" type="StudentSpecialEducationRecordCollectionType" />


  <!--StudentRecordPackage-->

  <xs:complexType name="StudentRecordPackageType">
    <xs:complexContent>
      <xs:extension base="AbstractContentPackageType">
        <xs:attribute name="SIF_RefId" use="required" type="RefIdType" />
        <xs:attribute name="SIF_RefObject" use="required" type="xs:token" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:element name="StudentRecordPackage" type="StudentRecordPackageType" />

  <xs:complexType name="StudentRecordPackageCollectionType">
    <xs:sequence>
      <xs:element name="StudentRecordPackage" type="StudentRecordPackageType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentRecordPackages" type="StudentRecordPackageCollectionType" />


  <!--GradeBookWorkingGroup-->


  <!--MarkValueInfo-->

  <xs:complexType name="MarkValueInfoType">
    <xs:sequence>
      <xs:element name="SchoolYear" type="SchoolYearType" />
      <xs:element name="Name" type="xs:string" />
      <xs:element name="Percentage" type="MarkValuePercentageType" />
      <xs:element name="Numeric" type="MarkValueNumberType" />
      <xs:element name="Letter" type="MarkValueLetterType">
        <xs:key name="MarkValueLetterKey1">
          <xs:selector xpath="./ValidMark" />
          <xs:field xpath="./Code" />
        </xs:key>
      </xs:element>
      <xs:element name="Narrative" type="MarkValueNarrativeType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey29">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="MarkValueInfo" type="MarkValueInfoType">
    <xs:key name="MarkValueInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="MarkValueInfoCollectionType">
    <xs:sequence>
      <xs:element name="MarkValueInfo" type="MarkValueInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="MarkValueInfos" type="MarkValueInfoCollectionType" />


  <!--MarkInfo-->

  <xs:complexType name="MarkInfoType">
    <xs:sequence>
      <xs:element name="SchoolYear" type="SchoolYearType" />
      <xs:element name="Description" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey30">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="MarkValueInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="MarkInfo" type="MarkInfoType">
    <xs:key name="MarkInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="MarkInfoCollectionType">
    <xs:sequence>
      <xs:element name="MarkInfo" type="MarkInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="MarkInfos" type="MarkInfoCollectionType" />


  <!--SectionMarkInfo-->

  <xs:complexType name="SectionMarkInfoType">
    <xs:sequence>
      <xs:element name="TermMarkLists" type="TermMarkListsType">
        <xs:key name="TermMarkListsKey1">
          <xs:selector xpath="./MarkInfoList" />
          <xs:field xpath="@TermInfoRefId" />
        </xs:key>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey31">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="IdRefType" />
    <xs:attribute name="SectionInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="SectionMarkInfo" type="SectionMarkInfoType">
    <xs:key name="SectionMarkInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@SectionInfoRefId" />
      <xs:field xpath="@SchoolInfoRefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="SectionMarkInfoCollectionType">
    <xs:sequence>
      <xs:element name="SectionMarkInfo" type="SectionMarkInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SectionMarkInfos" type="SectionMarkInfoCollectionType" />


  <!--StudentSectionMarks-->

  <xs:complexType name="StudentSectionMarksType">
    <xs:sequence>
      <xs:element name="IsFinal" type="xs:boolean" />
      <xs:element name="MarkList" type="StudentSectionMarkListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey32">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="SectionInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="TermInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="StudentSectionMarks" type="StudentSectionMarksType">
    <xs:key name="StudentSectionMarksKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@StudentPersonalRefId" />
      <xs:field xpath="@SectionInfoRefId" />
      <xs:field xpath="@TermInfoRefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentSectionMarksCollectionType">
    <xs:sequence>
      <xs:element name="StudentSectionMarks" type="StudentSectionMarksType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentSectionMarkss" type="StudentSectionMarksCollectionType" />


  <!--GradingCategory-->

  <xs:complexType name="GradingCategoryType">
    <xs:sequence>
      <xs:element name="Description" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey33">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SectionInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="TermInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="GradingCategory" type="GradingCategoryType">
    <xs:key name="GradingCategoryKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="GradingCategoryCollectionType">
    <xs:sequence>
      <xs:element name="GradingCategory" type="GradingCategoryType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GradingCategorys" type="GradingCategoryCollectionType" />


  <!--GradingAssignment-->

  <xs:complexType name="GradingAssignmentType">
    <xs:sequence>
      <xs:element name="Description" type="xs:string" />
      <xs:element name="PointsPossible" type="xs:unsignedInt" />
      <xs:element name="CreateDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DueDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Weight" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="DetailedDescription" minOccurs="0" nillable="true" type="DocumentSourceType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey34">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SectionInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="TermInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="GradingCategoryRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="GradingAssignment" type="GradingAssignmentType">
    <xs:key name="GradingAssignmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="GradingAssignmentCollectionType">
    <xs:sequence>
      <xs:element name="GradingAssignment" type="GradingAssignmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GradingAssignments" type="GradingAssignmentCollectionType" />


  <!--GradingAssignmentScore-->

  <xs:complexType name="GradingAssignmentScoreType">
    <xs:sequence>
      <xs:element name="ScorePoints" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="ScorePercent" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="ScoreLetter" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ScoreDescription" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey35">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="SectionInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="GradingAssignmentRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="GradingAssignmentScore" type="GradingAssignmentScoreType">
    <xs:key name="GradingAssignmentScoreKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@StudentPersonalRefId" />
      <xs:field xpath="@GradingAssignmentRefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="GradingAssignmentScoreCollectionType">
    <xs:sequence>
      <xs:element name="GradingAssignmentScore" type="GradingAssignmentScoreType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GradingAssignmentScores" type="GradingAssignmentScoreCollectionType" />


  <!--StudentPeriodAttendance-->

  <xs:complexType name="StudentPeriodAttendanceType">
    <xs:sequence>
      <xs:element name="TimetablePeriod" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <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="AttendanceCode" type="AttendanceCodeType" />
      <xs:element name="AuditInfo" type="StudentAttendanceAuditInfoType" />
      <xs:element name="AttendanceComment" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey36">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="SectionInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="Date" use="required" type="xs:date" />
  </xs:complexType>

  <xs:element name="StudentPeriodAttendance" type="StudentPeriodAttendanceType">
    <xs:key name="StudentPeriodAttendanceKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentPeriodAttendanceCollectionType">
    <xs:sequence>
      <xs:element name="StudentPeriodAttendance" type="StudentPeriodAttendanceType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentPeriodAttendances" type="StudentPeriodAttendanceCollectionType" />


  <!--OfficialStudentPeriodAttendance-->

  <xs:complexType name="OfficialStudentPeriodAttendanceType">
    <xs:complexContent>
      <xs:extension base="StudentPeriodAttendanceType" />
    </xs:complexContent>
  </xs:complexType>

  <xs:element name="OfficialStudentPeriodAttendance" type="OfficialStudentPeriodAttendanceType" />

  <xs:complexType name="OfficialStudentPeriodAttendanceCollectionType">
    <xs:sequence>
      <xs:element name="OfficialStudentPeriodAttendance" type="OfficialStudentPeriodAttendanceType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OfficialStudentPeriodAttendances" type="OfficialStudentPeriodAttendanceCollectionType" />


  <!--StudentGrade-->

  <xs:complexType name="StudentGradeType">
    <xs:sequence>
      <xs:element name="StudentPersonalRefId" type="IdRefType" />
      <xs:element name="SectionInfoRefId" type="IdRefType" />
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="SchoolYear" type="SchoolYearType" />
      <xs:element name="Grade" type="StudentGradeGradeType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey37">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="StudentGrade" type="StudentGradeType">
    <xs:key name="StudentGradeKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentGradeCollectionType">
    <xs:sequence>
      <xs:element name="StudentGrade" type="StudentGradeType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentGrades" type="StudentGradeCollectionType" />


  <!--HumanResourcesFinancialsWorkingGroup-->


  <!--Billing-->

  <xs:complexType name="BillingType">
    <xs:sequence>
      <xs:element name="BilledEntity">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <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="VendorInfo" />
                    <xs:enumeration value="Purchasing" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="BillingDate" type="xs:date" />
      <xs:element name="TransactionDescription" type="xs:string" />
      <xs:element name="BilledAmount" type="MonetaryAmountType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey38">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="Billing" type="BillingType">
    <xs:key name="BillingKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="BillingCollectionType">
    <xs:sequence>
      <xs:element name="Billing" type="BillingType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Billings" type="BillingCollectionType" />


  <!--Payment-->

  <xs:complexType name="PaymentType">
    <xs:sequence>
      <xs:element name="ReceivedDate" type="xs:date" />
      <xs:element name="ReceivedAmount" type="MonetaryAmountType" />
      <xs:element name="ReceivedTransactionId" type="xs:normalizedString" />
      <xs:element name="TransactionDescription" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey39">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="BillingRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="Payment" type="PaymentType">
    <xs:key name="PaymentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="PaymentCollectionType">
    <xs:sequence>
      <xs:element name="Payment" type="PaymentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Payments" type="PaymentCollectionType" />


  <!--EmployeeAssignment-->

  <xs:complexType name="EmployeeAssignmentType">
    <xs:sequence>
      <xs:element name="Description" type="xs:string" />
      <xs:element name="PrimaryAssignment">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="LocationInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="JobStartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="JobEndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="JobFTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="2" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="JobClassification" minOccurs="0" nillable="true" type="JobClassificationType" />
      <xs:element name="ProgramType" minOccurs="0" nillable="true" type="EmployeeAssignmentProgramType" />
      <xs:element name="FundingSource" minOccurs="0" nillable="true" type="OldFundingSourceType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey40">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="EmployeePersonalRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="EmployeeAssignment" type="EmployeeAssignmentType">
    <xs:key name="EmployeeAssignmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="EmployeeAssignmentCollectionType">
    <xs:sequence>
      <xs:element name="EmployeeAssignment" type="EmployeeAssignmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="EmployeeAssignments" type="EmployeeAssignmentCollectionType" />


  <!--EmployeeContract-->

  <xs:complexType name="EmployeeContractType">
    <xs:sequence>
      <xs:element name="BaseSalary" type="MonetaryAmountType" />
      <xs:element name="ContractStartDate" type="xs:date" />
      <xs:element name="ContractEndDate" type="xs:date" />
      <xs:element name="ContractTerm" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ContractDays" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="AssignmentDays" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey41">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="EmployeePersonalRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="EmployeeContract" type="EmployeeContractType">
    <xs:key name="EmployeeContractKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="EmployeeContractCollectionType">
    <xs:sequence>
      <xs:element name="EmployeeContract" type="EmployeeContractType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="EmployeeContracts" type="EmployeeContractCollectionType" />


  <!--EmploymentRecord-->

  <xs:complexType name="EmploymentRecordType">
    <xs:sequence>
      <xs:element name="LEAInfoRefId" type="IdRefType" />
      <xs:element name="Active" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="FullTimeStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="HireDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="TerminationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="TotalYearsExperience" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="PositionTitle" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PositionNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SeniorityDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="TenureDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey42">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SIF_RefId" use="optional" type="IdRefType" />
    <xs:attribute name="SIF_RefObject" use="required" type="xs:token" />
    <xs:attribute name="SIF_RefObjectCodeset" use="optional" type="xs:token" />
  </xs:complexType>

  <xs:element name="EmploymentRecord" type="EmploymentRecordType">
    <xs:key name="EmploymentRecordKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@SIF_RefId" />
      <xs:field xpath="@SIF_RefObject" />
    </xs:key>
  </xs:element>

  <xs:complexType name="EmploymentRecordCollectionType">
    <xs:sequence>
      <xs:element name="EmploymentRecord" type="EmploymentRecordType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="EmploymentRecords" type="EmploymentRecordCollectionType" />


  <!--EmployeePersonal-->

  <xs:complexType name="EmployeePersonalType">
    <xs:sequence>
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="OtherIdList" minOccurs="0" nillable="true" type="EmployeePersonalOtherIdListType" />
      <xs:element name="Name" type="NameOfRecordType" />
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="DemographicsType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey2">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey2">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType">
        <xs:key name="EmailListKey1">
          <xs:selector xpath="./Email" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey43">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="EmployeePersonal" type="EmployeePersonalType">
    <xs:key name="EmployeePersonalKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="EmployeePersonalCollectionType">
    <xs:sequence>
      <xs:element name="EmployeePersonal" type="EmployeePersonalType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="EmployeePersonals" type="EmployeePersonalCollectionType" />


  <!--EmployeePicture-->

  <xs:complexType name="EmployeePictureType">
    <xs:sequence>
      <xs:element name="PictureSource" type="PictureSourceType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey44">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="EmployeePersonalRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="EmployeePicture" type="EmployeePictureType">
    <xs:key name="EmployeePictureKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="EmployeePictureCollectionType">
    <xs:sequence>
      <xs:element name="EmployeePicture" type="EmployeePictureType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="EmployeePictures" type="EmployeePictureCollectionType" />


  <!--FinancialAnnual-->

  <xs:complexType name="FinancialAnnualType">
    <xs:sequence>
      <xs:element name="ReportDate" type="xs:date" />
      <xs:element name="StateProvinceId" type="StateProvinceIdType" />
      <xs:element name="FiscalYear" type="xs:gYear" />
      <xs:element name="AnnualItems" type="AnnualItemListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey45">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FinancialAnnual" type="FinancialAnnualType" />

  <xs:complexType name="FinancialAnnualCollectionType">
    <xs:sequence>
      <xs:element name="FinancialAnnual" type="FinancialAnnualType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FinancialAnnuals" type="FinancialAnnualCollectionType" />


  <!--FinancialBudget-->

  <xs:complexType name="FinancialBudgetType">
    <xs:sequence>
      <xs:element name="ReportDate" type="xs:date" />
      <xs:element name="StateProvinceId" type="StateProvinceIdType" />
      <xs:element name="FiscalYear" type="xs:gYear" />
      <xs:element name="BudgetAccounts" type="BudgetAccountListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey46">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FinancialBudget" type="FinancialBudgetType" />

  <xs:complexType name="FinancialBudgetCollectionType">
    <xs:sequence>
      <xs:element name="FinancialBudget" type="FinancialBudgetType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FinancialBudgets" type="FinancialBudgetCollectionType" />


  <!--TimeWorked-->

  <xs:complexType name="TimeWorkedType">
    <xs:sequence>
      <xs:element name="EmployeePersonalRefId" type="IdRefType" />
      <xs:element name="LocationInfoRefId" type="IdRefType" />
      <xs:element name="JobFunction" minOccurs="0" nillable="true" type="JobFunctionType" />
      <xs:element name="RegularHours" type="xs:decimal" />
      <xs:element name="OvertimeHours" type="xs:decimal" />
      <xs:element name="PayPeriod" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey47">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="TimeWorked" type="TimeWorkedType">
    <xs:key name="TimeWorkedKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="TimeWorkedCollectionType">
    <xs:sequence>
      <xs:element name="TimeWorked" type="TimeWorkedType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TimeWorkeds" type="TimeWorkedCollectionType" />


  <!--VendorInfo-->

  <xs:complexType name="VendorInfoType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="ContactInfo" minOccurs="0" nillable="true" type="ContactInfoType" />
      <xs:element name="CustomerId" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="EmployeePersonalRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="Send1099" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="FederalTaxId" minOccurs="0" nillable="true" type="FederalTaxIdType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey48">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="VendorInfo" type="VendorInfoType">
    <xs:key name="VendorInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="VendorInfoCollectionType">
    <xs:sequence>
      <xs:element name="VendorInfo" type="VendorInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="VendorInfos" type="VendorInfoCollectionType" />


  <!--W4-->

  <xs:complexType name="W4Type">
    <xs:sequence>
      <xs:element name="W4Date" type="xs:date" />
      <xs:element name="MaritalStatusRate">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="FederalAllowancesNumber" type="xs:unsignedInt" />
      <xs:element name="StateAllowancesNumber" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="StateProvince" type="StateProvinceType" />
      <xs:element name="Exempt" type="xs:boolean" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey49">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="EmployeePersonalRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="W4" type="W4Type">
    <xs:key name="W4Key1">
      <xs:selector xpath="." />
      <xs:field xpath="@EmployeePersonalRefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="W4CollectionType">
    <xs:sequence>
      <xs:element name="W4" type="W4Type" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="W4s" type="W4CollectionType" />


  <!--EmployeeWage-->

  <xs:complexType name="EmployeeWageType">
    <xs:sequence>
      <xs:element name="PayRates" type="PayRateListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey50">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="EmployeePersonalRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="EmployeeWage" type="EmployeeWageType">
    <xs:key name="EmployeeWageKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="EmployeeWageCollectionType">
    <xs:sequence>
      <xs:element name="EmployeeWage" type="EmployeeWageType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="EmployeeWages" type="EmployeeWageCollectionType" />


  <!--LocationInfo-->

  <xs:complexType name="LocationInfoType">
    <xs:sequence>
      <xs:element name="SiteCategory" type="xs:normalizedString" />
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="LocalId" type="LocalIdType" />
      <xs:element name="IdentificationInfoList" minOccurs="0" nillable="true" type="IdentificationInfoListType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="NCESId" minOccurs="0" nillable="true" type="NCESIdType" />
      <xs:element name="LEAInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="OtherLEAs" minOccurs="0" nillable="true" type="OtherLEAListType" />
      <xs:element name="ParentLocationInfo" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="LocationInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SchoolInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey3">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey3">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey51">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="LocationType" use="required" type="xs:token" />
    <xs:attribute name="LocationTypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>

  <xs:element name="LocationInfo" type="LocationInfoType">
    <xs:key name="LocationInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="LocationInfoCollectionType">
    <xs:sequence>
      <xs:element name="LocationInfo" type="LocationInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LocationInfos" type="LocationInfoCollectionType" />


  <!--Purchasing-->

  <xs:complexType name="PurchasingType">
    <xs:sequence>
      <xs:element name="FormType">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="FormNumber" type="xs:normalizedString" />
      <xs:element name="FiscalYearRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="VendorInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="LocationInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="EmployeePersonalRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="PurchasingItems" type="PurchasingItemListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey52">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="Purchasing" type="PurchasingType">
    <xs:key name="PurchasingKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="PurchasingCollectionType">
    <xs:sequence>
      <xs:element name="Purchasing" type="PurchasingType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Purchasings" type="PurchasingCollectionType" />


  <!--AccountingPeriod-->

  <xs:complexType name="AccountingPeriodType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="FiscalYearRefId" type="IdRefType" />
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey53">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="AccountingPeriod" type="AccountingPeriodType">
    <xs:key name="AccountingPeriodKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AccountingPeriodCollectionType">
    <xs:sequence>
      <xs:element name="AccountingPeriod" type="AccountingPeriodType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AccountingPeriods" type="AccountingPeriodCollectionType" />


  <!--FinancialAccount-->

  <xs:complexType name="FinancialAccountType">
    <xs:sequence>
      <xs:element name="AccountNumber" type="xs:normalizedString" />
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="FinancialClassRefId" type="IdRefType" />
      <xs:element name="CreationDate" type="xs:date" />
      <xs:element name="CreationTime" type="xs:time" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey54">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FinancialAccount" type="FinancialAccountType">
    <xs:key name="FinancialAccountKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FinancialAccountCollectionType">
    <xs:sequence>
      <xs:element name="FinancialAccount" type="FinancialAccountType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FinancialAccounts" type="FinancialAccountCollectionType" />


  <!--FinancialAccountAccountingPeriodLocationInfo-->

  <xs:complexType name="FinancialAccountAccountingPeriodLocationInfoType">
    <xs:sequence>
      <xs:element name="FinancialAccountRefId" type="IdRefType" />
      <xs:element name="AccountingPeriodRefId" type="IdRefType" />
      <xs:element name="LocationInfoRefId" type="IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey55">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FinancialAccountAccountingPeriodLocationInfo" type="FinancialAccountAccountingPeriodLocationInfoType">
    <xs:key name="FinancialAccountAccountingPeriodLocationInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FinancialAccountAccountingPeriodLocationInfoCollectionType">
    <xs:sequence>
      <xs:element name="FinancialAccountAccountingPeriodLocationInfo" type="FinancialAccountAccountingPeriodLocationInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FinancialAccountAccountingPeriodLocationInfos" type="FinancialAccountAccountingPeriodLocationInfoCollectionType" />


  <!--FinancialClass-->

  <xs:complexType name="FinancialClassType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ClassType">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey56">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FinancialClass" type="FinancialClassType">
    <xs:key name="FinancialClassKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FinancialClassCollectionType">
    <xs:sequence>
      <xs:element name="FinancialClass" type="FinancialClassType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FinancialClasss" type="FinancialClassCollectionType" />


  <!--FinancialIncomeStatement-->

  <xs:complexType name="FinancialIncomeStatementType">
    <xs:sequence>
      <xs:element name="GenerationDate" type="xs:date" />
      <xs:element name="GenerationTime" type="xs:time" />
      <xs:element name="LocationInfoRefId" type="IdRefType" />
      <xs:element name="Period" type="PeriodType" />
      <xs:element name="Amounts" type="FinancialIncomeStatementMonetaryAmountListType" />
      <xs:element name="Program" minOccurs="0" nillable="true" type="FundedProgramType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey57">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FinancialIncomeStatement" type="FinancialIncomeStatementType">
    <xs:key name="FinancialIncomeStatementKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FinancialIncomeStatementCollectionType">
    <xs:sequence>
      <xs:element name="FinancialIncomeStatement" type="FinancialIncomeStatementType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FinancialIncomeStatements" type="FinancialIncomeStatementCollectionType" />


  <!--FinancialTransaction-->

  <xs:complexType name="FinancialTransactionType">
    <xs:sequence>
      <xs:element name="TransactionDate" type="xs:date" />
      <xs:element name="TransactionTime" type="xs:time" />
      <xs:element name="Amounts" type="DebitCreditMonetaryAmountListType" />
      <xs:element name="Program" minOccurs="0" nillable="true" type="FundedProgramType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey58">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FinancialTransaction" type="FinancialTransactionType">
    <xs:key name="FinancialTransactionKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FinancialTransactionCollectionType">
    <xs:sequence>
      <xs:element name="FinancialTransaction" type="FinancialTransactionType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FinancialTransactions" type="FinancialTransactionCollectionType" />


  <!--FiscalYear-->

  <xs:complexType name="FiscalYearType">
    <xs:sequence>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey59">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="FiscalYear" type="FiscalYearType">
    <xs:key name="FiscalYearKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="FiscalYearCollectionType">
    <xs:sequence>
      <xs:element name="FiscalYear" type="FiscalYearType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FiscalYears" type="FiscalYearCollectionType" />


  <!--ProfessionalDevelopmentWorkingGroup-->


  <!--ActivityProvider-->

  <xs:complexType name="ActivityProviderType">
    <xs:sequence>
      <xs:element name="LocalId" type="LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="OldAddressType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey60">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="ActivityProvider" type="ActivityProviderType">
    <xs:key name="ActivityProviderKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="ActivityProviderCollectionType">
    <xs:sequence>
      <xs:element name="ActivityProvider" type="ActivityProviderType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ActivityProviders" type="ActivityProviderCollectionType" />


  <!--EmployeeCredit-->

  <xs:complexType name="EmployeeCreditType">
    <xs:sequence>
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="Earned" type="EmployeeCreditEarnedType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey61">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="EmployeePersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="ProfessionalDevelopmentActivitiesRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="EmployeeCredit" type="EmployeeCreditType">
    <xs:key name="EmployeeCreditKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="EmployeeCreditCollectionType">
    <xs:sequence>
      <xs:element name="EmployeeCredit" type="EmployeeCreditType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="EmployeeCredits" type="EmployeeCreditCollectionType" />


  <!--EmployeeRecertification-->

  <xs:complexType name="EmployeeRecertificationType">
    <xs:sequence>
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="SSN" minOccurs="0" nillable="true" type="SSNType" />
      <xs:element name="Name" type="NameType" />
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="DemographicsType" />
      <xs:element name="ActivityName" type="xs:normalizedString" />
      <xs:element name="ActivityType">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ActivityHours" type="xs:decimal" />
      <xs:element name="Earned" type="EmployeeCreditEarnedType" />
      <xs:element name="DateFrom" type="xs:date" />
      <xs:element name="DateTo" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey62">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="EmployeeRecertification" type="EmployeeRecertificationType" />

  <xs:complexType name="EmployeeRecertificationCollectionType">
    <xs:sequence>
      <xs:element name="EmployeeRecertification" type="EmployeeRecertificationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="EmployeeRecertifications" type="EmployeeRecertificationCollectionType" />


  <!--EmployeeCredential-->

  <xs:complexType name="EmployeeCredentialType">
    <xs:sequence>
      <xs:element name="ReportDate" type="xs:date" />
      <xs:element name="SchoolYear" type="SchoolYearType" />
      <xs:element name="StateProvinceId" type="StateProvinceIdType" />
      <xs:element name="SSN" type="xs:normalizedString" />
      <xs:element name="Name" type="NameType" />
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="DemographicsType" />
      <xs:element name="Race">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Hispanic" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Certifications" type="EmployeeCertificationListType" />
      <xs:element name="Salary" type="MonetaryAmountType" />
      <xs:element name="Status">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Leave">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="TotalYears" type="xs:decimal" />
      <xs:element name="UnitYears" type="xs:decimal" />
      <xs:element name="Education">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="TeachingCredentialType" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="TerminationCode" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="BackgroundChecks" minOccurs="0" nillable="true" type="BackgroundCheckListType" />
      <xs:element name="Assignments" type="EmployeeCredentialAssignmentListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey63">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="EmployeeCredential" type="EmployeeCredentialType" />

  <xs:complexType name="EmployeeCredentialCollectionType">
    <xs:sequence>
      <xs:element name="EmployeeCredential" type="EmployeeCredentialType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="EmployeeCredentials" type="EmployeeCredentialCollectionType" />


  <!--ProfessionalDevelopmentActivities-->

  <xs:complexType name="ProfessionalDevelopmentActivitiesType">
    <xs:sequence>
      <xs:element name="ProfessionalDevelopmentProgramRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="LearningStandardItems" minOccurs="0" nillable="true" type="LearningStandardItemRefIdListType" />
      <xs:element name="LocalId" type="LocalIdType" />
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="Description" type="xs:string" />
      <xs:element name="ClockHours" type="xs:decimal" />
      <xs:element name="Credits" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Stipend" minOccurs="0" nillable="true" type="MonetaryAmountType" />
      <xs:element name="FundingSource" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey64">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="ActivityProviderRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="ProfessionalDevelopmentActivities" type="ProfessionalDevelopmentActivitiesType">
    <xs:key name="ProfessionalDevelopmentActivitiesKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="ProfessionalDevelopmentActivitiesCollectionType">
    <xs:sequence>
      <xs:element name="ProfessionalDevelopmentActivities" type="ProfessionalDevelopmentActivitiesType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProfessionalDevelopmentActivitiess" type="ProfessionalDevelopmentActivitiesCollectionType" />


  <!--ProfessionalDevelopmentProgram-->

  <xs:complexType name="ProfessionalDevelopmentProgramType">
    <xs:sequence>
      <xs:element name="LearningStandardItems" minOccurs="0" nillable="true" type="LearningStandardItemRefIdListType" />
      <xs:element name="LocalProgramId" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ProgramName" type="xs:normalizedString" />
      <xs:element name="ProgramType" type="xs:normalizedString" />
      <xs:element name="FundingSource" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey65">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="ProfessionalDevelopmentProgram" type="ProfessionalDevelopmentProgramType">
    <xs:key name="ProfessionalDevelopmentProgramKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="ProfessionalDevelopmentProgramCollectionType">
    <xs:sequence>
      <xs:element name="ProfessionalDevelopmentProgram" type="ProfessionalDevelopmentProgramType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProfessionalDevelopmentPrograms" type="ProfessionalDevelopmentProgramCollectionType" />


  <!--ProfessionalDevelopmentRegistration-->

  <xs:complexType name="ProfessionalDevelopmentRegistrationType">
    <xs:sequence>
      <xs:element name="RegistrationStatus">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ProfessionalDevelopmentActivityRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="ProfessionalDevelopmentProgramRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="PaidAmount" minOccurs="0" nillable="true" type="MonetaryAmountType" />
      <xs:element name="Stipend" minOccurs="0" nillable="true" type="MonetaryAmountType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey66">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="EmployeePersonalRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="ProfessionalDevelopmentRegistration" type="ProfessionalDevelopmentRegistrationType">
    <xs:key name="ProfessionalDevelopmentRegistrationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="ProfessionalDevelopmentRegistrationCollectionType">
    <xs:sequence>
      <xs:element name="ProfessionalDevelopmentRegistration" type="ProfessionalDevelopmentRegistrationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProfessionalDevelopmentRegistrations" type="ProfessionalDevelopmentRegistrationCollectionType" />


  <!--SpecialProgramsWorkingGroup-->


  <!--StudentParticipation-->

  <xs:complexType name="StudentParticipationType">
    <xs:sequence>
      <xs:element name="StudentParticipationAsOfDate" type="xs:date" />
      <xs:element name="ProgramType" type="ProgramTypeType" />
      <xs:element name="ProgramName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ProgramFundingSources" minOccurs="0" nillable="true" type="ProgramFundingSourceListType" />
      <xs:element name="ManagingPublicAgency" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="LEAInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ManagingSchool" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="SchoolInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="PartCTransitionMeetingNotHeldReasons" minOccurs="0" nillable="true" type="PartCTransitionMeetingNotHeldReasonListType" />
      <xs:element name="PartCTransitionMeetingDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="PartCTransitionMeetingOutcomes" minOccurs="0" nillable="true" type="PartCTransitionMeetingOutcomeListType" />
      <xs:element name="ReferralDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ReferralSource" minOccurs="0" nillable="true" type="ReferralSourceType" />
      <xs:element name="ProgramStatus" minOccurs="0" nillable="true" type="ProgramStatusType" />
      <xs:element name="GiftedEligibilityCriteria" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="EvaluationParentalConsentDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EvaluationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EvaluationExtensionDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExtensionComments" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ReevaluationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExceptionalityCategories" minOccurs="0" nillable="true" type="ExceptionalityCategoryListType" />
      <xs:element name="ProgramEligibilityDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProgramPlanType" minOccurs="0" nillable="true" type="ProgramPlanTypeType" />
      <xs:element name="ProgramPlanDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProgramPlanEffectiveDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="NOREPDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="PlacementParentalConsentDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProgramPlacementDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="LeastRestrictiveEnvironment" minOccurs="0" nillable="true" type="LeastRestrictiveEnvironmentType" />
      <xs:element name="ExtendedSchoolYear" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="ExtendedDay" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="ProgramAvailability" minOccurs="0" nillable="true" type="ProgramAvailabilityType" />
      <xs:element name="PrivateNotPlacedByPublic" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="ProgramReviewDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="FBADate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="BIPDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProgramExitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProgramExitReason" minOccurs="0" nillable="true" type="ProgramExitReasonType" />
      <xs:element name="ProjectedExitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProjectedExitReason" minOccurs="0" nillable="true" type="SourcedCodesetType" />
      <xs:element name="PlannedAssessmentParticipation" minOccurs="0" nillable="true" type="SourcedCodesetType" />
      <xs:element name="TransitionPlanning" minOccurs="0" nillable="true" type="SourcedCodesetType" />
      <xs:element name="StudentSpecialEducationFTE" 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="EntryPerson" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ParticipationContact" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AdditionalProgramAvailabilityList" minOccurs="0" nillable="true" type="ProgramAvailabilityListType" />
      <xs:element name="CaseManager" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey67">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="StudentParticipation" type="StudentParticipationType">
    <xs:key name="StudentParticipationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentParticipationCollectionType">
    <xs:sequence>
      <xs:element name="StudentParticipation" type="StudentParticipationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentParticipations" type="StudentParticipationCollectionType" />


  <!--StudentPlacement-->

  <xs:complexType name="StudentPlacementType">
    <xs:sequence>
      <xs:element name="StudentPlacementAsOfDate" type="xs:date" />
      <xs:element name="Service" type="StudentPlacementServiceType" />
      <xs:element name="ServiceCategory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServiceFundingSources" minOccurs="0" nillable="true" type="StudentPlacementServiceFundingSourceListType" />
      <xs:element name="ServicingPublicAgency" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="LEAInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServicingSchool" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="SchoolInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SchoolWhereServiceDelivered" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="SchoolInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServiceProviderType" minOccurs="0" nillable="true" type="ServiceProviderTypeType" />
      <xs:element name="AgencyType" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ServiceProviderName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ServiceSetting" minOccurs="0" nillable="true" type="ServiceSettingType" />
      <xs:element name="WhenServiceProvided" minOccurs="0" nillable="true" type="WhenServiceProvidedType" />
      <xs:element name="LatestStartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="FrequencyTime" minOccurs="0" nillable="true" type="FrequencyTimeType" />
      <xs:element name="DirectTime" minOccurs="0" nillable="true" type="SessionDurationType" />
      <xs:element name="IndirectTime" minOccurs="0" nillable="true" type="SessionDurationType" />
      <xs:element name="TotalServiceDuration" minOccurs="0" nillable="true" type="SessionDurationType" />
      <xs:element name="IncludedInSpecialEducationFTE" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="SpecialNeedsTransportation" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="AssistiveTechnology" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="EntryPerson" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey68">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentParticipationRefId" use="required" type="IdRefType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="StudentPlacement" type="StudentPlacementType">
    <xs:key name="StudentPlacementKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentPlacementCollectionType">
    <xs:sequence>
      <xs:element name="StudentPlacement" type="StudentPlacementType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentPlacements" type="StudentPlacementCollectionType" />


  <!--TestAccommodation-->

  <xs:complexType name="TestAccommodationType">
    <xs:sequence>
      <xs:element name="StudentPersonalRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameOfRecordType" />
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="StateDistrictId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="LEAInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="StateSchoolId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="GradeLevel" type="GradeLevelType" />
      <xs:element name="AssessmentRegistrationRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="TestAdministration" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="TestSubjectArea" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="TestGradeLevel" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="TestAdministrationDateRange" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PlannedTestAdministrationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="TestType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="AuthorizedActual">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ActualTestAdministrationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="StudentProgramAccommodations" minOccurs="0" nillable="true" type="StudentProgramAccommodationListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey69">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="TestAccommodation" type="TestAccommodationType">
    <xs:key name="TestAccommodationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="TestAccommodationCollectionType">
    <xs:sequence>
      <xs:element name="TestAccommodation" type="TestAccommodationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TestAccommodations" type="TestAccommodationCollectionType" />


  <!--StudentSpecialEducationSummary-->

  <xs:complexType name="StudentSpecialEducationSummaryType">
    <xs:sequence>
      <xs:element name="StudentSpecialEducationFTE" 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="PrimaryDisabilityCode" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="NeglectedOrDelinquentParticipationList" minOccurs="0" nillable="true" type="NeglectedOrDelinquentParticipationListType" />
      <xs:element name="StudentParticipationList" minOccurs="0" nillable="true" type="StudentSpecialEducationSummaryStudentParticipationListType" />
      <xs:element name="StudentPlacementList" minOccurs="0" nillable="true" type="StudentSpecialEducationSummaryStudentPlacementListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey70">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="SummaryDate" use="required" type="xs:date" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentSpecialEducationSummary" type="StudentSpecialEducationSummaryType">
    <xs:key name="StudentSpecialEducationSummaryKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@SummaryDate" />
      <xs:field xpath="@StudentPersonalRefId" />
      <xs:field xpath="@SchoolYear" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentSpecialEducationSummaryCollectionType">
    <xs:sequence>
      <xs:element name="StudentSpecialEducationSummary" type="StudentSpecialEducationSummaryType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentSpecialEducationSummarys" type="StudentSpecialEducationSummaryCollectionType" />


  <!--AssessmentWorkingGroup-->


  <!--Assessment-->

  <xs:complexType name="AssessmentType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="AssessmentId" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AssessmentPackageRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="AssessmentDescriptors" minOccurs="0" nillable="true" type="AssessmentDescriptorListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey71">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="Assessment" type="AssessmentType">
    <xs:key name="AssessmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AssessmentCollectionType">
    <xs:sequence>
      <xs:element name="Assessment" type="AssessmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Assessments" type="AssessmentCollectionType" />


  <!--AssessmentItem-->

  <xs:complexType name="AssessmentItemType">
    <xs:sequence>
      <xs:element name="ItemLabel" type="xs:token" />
      <xs:element name="ItemName" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="LearningStandardItems" minOccurs="0" nillable="true" type="LearningStandardItemRefIdListType" />
      <xs:element name="Stimulus" minOccurs="0" nillable="true" type="AbstractContentElementType" />
      <xs:element name="Stem" minOccurs="0" nillable="true" type="AbstractContentElementType" />
      <xs:element name="ResponseChoices" minOccurs="0" nillable="true" type="AssessmentItemChoiceListType" />
      <xs:element name="ItemScoreMaximum" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="ItemScoreMinimum" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="PerformanceLevels" minOccurs="0" nillable="true" type="PerformanceLevelListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey72">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="AssessmentFormRefId" use="required" type="IdRefType" />
    <xs:attribute name="ResponseType" use="required" type="xs:token" />
    <xs:attribute name="ResponseTypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>

  <xs:element name="AssessmentItem" type="AssessmentItemType">
    <xs:key name="AssessmentItemKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AssessmentItemCollectionType">
    <xs:sequence>
      <xs:element name="AssessmentItem" type="AssessmentItemType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AssessmentItems" type="AssessmentItemCollectionType" />


  <!--ItemCharacteristics-->

  <xs:complexType name="ItemCharacteristicsType">
    <xs:sequence>
      <xs:element name="PercentCorrect" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="SampleSize" minOccurs="0" nillable="true" type="xs:integer" />
      <xs:element name="SampleDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Measurements" minOccurs="0" nillable="true" type="ItemCharacteristicsMeasurementListType" />
      <xs:element name="Descriptive" minOccurs="0" nillable="true" type="ItemCharacteristicsDescriptiveType" />
      <xs:element name="DifferentialItemAnalysis" minOccurs="0" nillable="true" type="ItemCharacteristicsDifferentialItemAnalysisType" />
      <xs:element name="ResponseChoicePattern" minOccurs="0" nillable="true" type="ItemCharacteristicsChoiceListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey73">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="AssessmentItemRefId" use="required" type="IdRefType" />
    <xs:attribute name="AssessmentFormRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="ItemCharacteristics" type="ItemCharacteristicsType">
    <xs:key name="ItemCharacteristicsKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="ItemCharacteristicsCollectionType">
    <xs:sequence>
      <xs:element name="ItemCharacteristics" type="ItemCharacteristicsType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ItemCharacteristicss" type="ItemCharacteristicsCollectionType" />


  <!--AssessmentSubTest-->

  <xs:complexType name="AssessmentSubTestType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="ScoreRange" minOccurs="0" nillable="true" type="ScoreRangeType" />
      <xs:element name="PerformanceLevels" minOccurs="0" nillable="true" type="PerformanceLevelListType" />
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="GradeLevelsType" />
      <xs:element name="AssessmentSubTestRefIds" minOccurs="0" nillable="true" type="AssessmentSubTestRefIdListType" />
      <xs:element name="SubTestTier" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="LearningStandardItemRefIds" minOccurs="0" nillable="true" type="LearningStandardItemRefIdListType" />
      <xs:element name="Abbreviation" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="NumberOfItems" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="ContainerOnly" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey74">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="AssessmentSubTest" type="AssessmentSubTestType">
    <xs:key name="AssessmentSubTestKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AssessmentSubTestCollectionType">
    <xs:sequence>
      <xs:element name="AssessmentSubTest" type="AssessmentSubTestType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AssessmentSubTests" type="AssessmentSubTestCollectionType" />


  <!--AssessmentAdministration-->

  <xs:complexType name="AssessmentAdministrationType">
    <xs:sequence>
      <xs:element name="AdministrationName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SpecialConditions" minOccurs="0" nillable="true" type="SpecialConditionActionListType">
        <xs:key name="SpecialConditionActionListKey1">
          <xs:selector xpath="./SpecialCondition" />
          <xs:field xpath="@Code" />
        </xs:key>
      </xs:element>
      <xs:element name="AdministrationDateTime" type="xs:dateTime" />
      <xs:element name="StartDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="FinishDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="DueDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="OldAddressType" />
      <xs:element name="StaffPersonalRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="LEAInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SchoolInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey75">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="AssessmentFormRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="AssessmentAdministration" type="AssessmentAdministrationType">
    <xs:key name="AssessmentAdministrationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AssessmentAdministrationCollectionType">
    <xs:sequence>
      <xs:element name="AssessmentAdministration" type="AssessmentAdministrationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AssessmentAdministrations" type="AssessmentAdministrationCollectionType" />


  <!--AssessmentForm-->

  <xs:complexType name="AssessmentFormType">
    <xs:sequence>
      <xs:element name="AssessmentType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="FormName" type="xs:normalizedString" />
      <xs:element name="FormNumbers" minOccurs="0" nillable="true" type="AssessmentFormNumberListType" />
      <xs:element name="Level" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="Period" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="GradeLevelsType" />
      <xs:element name="AssessmentSubTestRefIds" minOccurs="0" nillable="true" type="AssessmentSubTestRefIdListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey76">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="AssessmentRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="AssessmentForm" type="AssessmentFormType">
    <xs:key name="AssessmentFormKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AssessmentFormCollectionType">
    <xs:sequence>
      <xs:element name="AssessmentForm" type="AssessmentFormType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AssessmentForms" type="AssessmentFormCollectionType" />


  <!--AssessmentRegistration-->

  <xs:complexType name="AssessmentRegistrationType">
    <xs:sequence>
      <xs:element name="CreationDateTime" type="xs:dateTime" />
      <xs:element name="StudentSpecialConditions" minOccurs="0" nillable="true" type="StudentSpecialConditionListType" />
      <xs:element name="StudentGradeLevel" minOccurs="0" nillable="true" type="GradeLevelType" />
      <xs:element name="AssessmentGradeLevel" minOccurs="0" nillable="true" type="GradeLevelType" />
      <xs:element name="AssessmentStudentSnapshot" minOccurs="0" nillable="true" type="AssessmentStudentSnapshotType" />
      <xs:element name="LEAInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SchoolInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="StaffPersonalRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SectionInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey77">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="AssessmentAdministrationRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="AssessmentRegistration" type="AssessmentRegistrationType">
    <xs:key name="AssessmentRegistrationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AssessmentRegistrationCollectionType">
    <xs:sequence>
      <xs:element name="AssessmentRegistration" type="AssessmentRegistrationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AssessmentRegistrations" type="AssessmentRegistrationCollectionType" />


  <!--StudentResponseSet-->

  <xs:complexType name="StudentResponseSetType">
    <xs:sequence>
      <xs:element name="Items" type="StudentResponseSetItemListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey78">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="AssessmentAdministrationRefId" use="required" type="IdRefType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="AssessmentRegistrationRefId" use="optional" type="IdRefType" />
  </xs:complexType>

  <xs:element name="StudentResponseSet" type="StudentResponseSetType">
    <xs:key name="StudentResponseSetKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentResponseSetCollectionType">
    <xs:sequence>
      <xs:element name="StudentResponseSet" type="StudentResponseSetType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentResponseSets" type="StudentResponseSetCollectionType" />


  <!--StudentScoreSet-->

  <xs:complexType name="StudentScoreSetType">
    <xs:sequence>
      <xs:element name="Scores" type="StudentScoreSetScoreListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey79">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="ScoreMetric" use="required" type="xs:token" />
    <xs:attribute name="ScoreMetricCodeset" use="optional" type="xs:token" />
    <xs:attribute name="AssessmentAdministrationRefId" use="required" type="IdRefType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="AssessmentRegistrationRefId" use="optional" type="IdRefType" />
  </xs:complexType>

  <xs:element name="StudentScoreSet" type="StudentScoreSetType">
    <xs:key name="StudentScoreSetKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentScoreSetCollectionType">
    <xs:sequence>
      <xs:element name="StudentScoreSet" type="StudentScoreSetType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentScoreSets" type="StudentScoreSetCollectionType" />


  <!--AssessmentPackage-->

  <xs:complexType name="AssessmentPackageType">
    <xs:sequence>
      <xs:element name="XMLData" minOccurs="0" nillable="true" type="XMLDataType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey80">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="AssessmentPackage" type="AssessmentPackageType">
    <xs:key name="AssessmentPackageKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AssessmentPackageCollectionType">
    <xs:sequence>
      <xs:element name="AssessmentPackage" type="AssessmentPackageType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AssessmentPackages" type="AssessmentPackageCollectionType" />


  <!--InstructionalServicesTaskForce-->


  <!--LearningStandardDocument-->

  <xs:complexType name="LearningStandardDocumentType">
    <xs:sequence>
      <xs:element name="RefURI" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="Title" type="xs:normalizedString" />
      <xs:element name="ShortName" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="DocumentVersion" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Source">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Organizations" type="OrganizationListType" />
      <xs:element name="Authors" minOccurs="0" nillable="true" type="AuthorListType" />
      <xs:element name="OrganizationContactPoint" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SubjectAreas" type="SubjectAreaListType" />
      <xs:element name="DocumentStatus">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="DocumentDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="LocalAdoptionDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="LocalArchiveDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndOfLifeDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Copyright" minOccurs="0" nillable="true" type="CopyrightType" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="GradeLevelsType" />
      <xs:element name="RepositoryDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="LearningStandardItemRefId" type="IdRefType" />
      <xs:element name="RelatedLearningStandards" minOccurs="0" nillable="true" type="LearningStandardDocumentRefIdListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey81">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="LearningStandardDocument" type="LearningStandardDocumentType">
    <xs:key name="LearningStandardDocumentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="LearningStandardDocumentCollectionType">
    <xs:sequence>
      <xs:element name="LearningStandardDocument" type="LearningStandardDocumentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LearningStandardDocuments" type="LearningStandardDocumentCollectionType" />


  <!--LearningStandardItem-->

  <xs:complexType name="LearningStandardItemType">
    <xs:sequence>
      <xs:element name="RefURI" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="ShortName" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="ItemVersion" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StandardSettingBody" minOccurs="0" nillable="true" type="StandardsSettingBodyType" />
      <xs:element name="StandardHierarchyLevel" type="StandardHierarchyLevelType" />
      <xs:element name="PredecessorItems" minOccurs="0" nillable="true" type="LearningStandardItemRefIdListType" />
      <xs:element name="StatementCodes" minOccurs="0" nillable="true" type="StatementCodeListType" />
      <xs:element name="Statements" minOccurs="0" nillable="true" type="StatementListType" />
      <xs:element name="GradeLevels" type="GradeLevelsType" />
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="SubjectAreaType" />
      <xs:element name="StandardIdentifier" minOccurs="0" nillable="true" type="StandardIdentifierType" />
      <xs:element name="LearningStandardDocumentRefId" type="IdRefType" />
      <xs:element name="RelatedLearningStandardItems" minOccurs="0" nillable="true" type="RelatedLearningStandardItemRefIdListType" />
      <xs:element name="Level4" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Level5" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey82">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="LearningStandardItem" type="LearningStandardItemType">
    <xs:key name="LearningStandardItemKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="LearningStandardItemCollectionType">
    <xs:sequence>
      <xs:element name="LearningStandardItem" type="LearningStandardItemType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LearningStandardItems" type="LearningStandardItemCollectionType" />


  <!--CurriculumStructure-->

  <xs:complexType name="CurriculumStructureType">
    <xs:sequence>
      <xs:element name="Titles" type="TitleListType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="SubjectAreaType" />
      <xs:element name="CurriculumHierarchyLevel" type="CurriculumStructureCurriculumHierarchyLevelType" />
      <xs:element name="PredecessorObjects" minOccurs="0" nillable="true" type="CurriculumStructureRefIdListType" />
      <xs:element name="LearningObjectives" minOccurs="0" nillable="true" type="LearningObjectiveListType" />
      <xs:element name="ComponentObjects" minOccurs="0" nillable="true" type="ComponentObjectListType" />
      <xs:element name="LearningStandards" minOccurs="0" nillable="true" type="LearningStandardItemRefIdListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey83">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="CurriculumStructure" type="CurriculumStructureType">
    <xs:key name="CurriculumStructureKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="CurriculumStructureCollectionType">
    <xs:sequence>
      <xs:element name="CurriculumStructure" type="CurriculumStructureType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CurriculumStructures" type="CurriculumStructureCollectionType" />


  <!--Lesson-->

  <xs:complexType name="LessonType">
    <xs:sequence>
      <xs:element name="SourceObjects" minOccurs="0" nillable="true" type="SourceObjectListType" />
      <xs:element name="CurriculumStructures" minOccurs="0" nillable="true" type="CurriculumStructuresRefIdListType" />
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="SubjectAreaType" />
      <xs:element name="Title" type="xs:normalizedString" />
      <xs:element name="Duration" minOccurs="0" nillable="true" type="DurationType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Procedure" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Strategies" minOccurs="0" nillable="true" type="LessonStrategyListType" />
      <xs:element name="LearningObjectives" minOccurs="0" nillable="true" type="LearningObjectiveListType" />
      <xs:element name="SupportingActivities" minOccurs="0" nillable="true" type="ActivityRefIdListType" />
      <xs:element name="LearningStandards" minOccurs="0" nillable="true" type="LearningStandardItemRefIdListType" />
      <xs:element name="LearningResources" minOccurs="0" nillable="true" type="LearningResourceRefIdListType" />
      <xs:element name="LessonSources" minOccurs="0" nillable="true" type="LessonSourceListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey84">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="Lesson" type="LessonType">
    <xs:key name="LessonKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="LessonCollectionType">
    <xs:sequence>
      <xs:element name="Lesson" type="LessonType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Lessons" type="LessonCollectionType" />


  <!--Activity-->

  <xs:complexType name="ActivityType">
    <xs:sequence>
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Preamble" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="TechnicalRequirements" minOccurs="0" nillable="true" type="TechnicalRequirementsType" />
      <xs:element name="SoftwareRequirementList" minOccurs="0" nillable="true" type="SoftwareRequirementListType" />
      <xs:element name="EssentialMaterials" minOccurs="0" nillable="true" type="EssentialMaterialListType" />
      <xs:element name="LearningObjectives" minOccurs="0" nillable="true" type="LearningObjectiveListType" />
      <xs:element name="LearningStandards" minOccurs="0" nillable="true" type="LearningStandardItemRefIdListType" />
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="SubjectAreaType" />
      <xs:element name="Prerequisites" minOccurs="0" nillable="true" type="PrerequisiteListType" />
      <xs:element name="Students" minOccurs="0" nillable="true" type="StudentPersonalRefIdListType" />
      <xs:element name="SourceObjects" minOccurs="0" nillable="true" type="SourceObjectListType" />
      <xs:element name="Points" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="ActivityTime" type="ActivityTimeType" />
      <xs:element name="AssessmentRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="MaxAttemptsAllowed" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="ActivityWeight" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Evaluation" minOccurs="0" nillable="true" type="ActivityEvaluationType" />
      <xs:element name="LearningResources" minOccurs="0" nillable="true" type="LearningResourceRefIdListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey85">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="Activity" type="ActivityType">
    <xs:key name="ActivityKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="ActivityCollectionType">
    <xs:sequence>
      <xs:element name="Activity" type="ActivityType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Activitys" type="ActivityCollectionType" />


  <!--Assignment-->

  <xs:complexType name="AssignmentType">
    <xs:sequence>
      <xs:element name="Students" type="StudentPersonalRefIdListType" />
      <xs:element name="StaffPersonalRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="TechnicalRequirements" minOccurs="0" nillable="true" type="TechnicalRequirementsType" />
      <xs:element name="SoftwareRequirementList" minOccurs="0" nillable="true" type="SoftwareRequirementListType" />
      <xs:element name="EssentialMaterials" minOccurs="0" nillable="true" type="EssentialMaterialListType" />
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Preamble" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="LearningObjectives" minOccurs="0" nillable="true" type="LearningObjectiveListType" />
      <xs:element name="LearningStandards" minOccurs="0" nillable="true" type="LearningStandardItemRefIdListType" />
      <xs:element name="Prerequisites" minOccurs="0" nillable="true" type="PrerequisiteListType" />
      <xs:element name="SourceObjects" minOccurs="0" nillable="true" type="SourceObjectListType" />
      <xs:element name="AssignmentTime" type="AssignmentTimeType" />
      <xs:element name="MaxAttemptsAllowed" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="AddToGradeBookFlag" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey86">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="Assignment" type="AssignmentType">
    <xs:key name="AssignmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AssignmentCollectionType">
    <xs:sequence>
      <xs:element name="Assignment" type="AssignmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Assignments" type="AssignmentCollectionType" />


  <!--LearningResource-->

  <xs:complexType name="LearningResourceType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Author" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Contacts" minOccurs="0" nillable="true" type="LearningResourceContactListType" />
      <xs:element name="Location" minOccurs="0" nillable="true" type="LearningResourceLocationType" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="GradeLevelsType" />
      <xs:element name="SubjectAreas" minOccurs="0" nillable="true" type="SubjectAreaListType" />
      <xs:element name="MediaTypes" minOccurs="0" nillable="true" type="MediaTypeListType" />
      <xs:element name="UseAgreement" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="AgreementDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Approvals" minOccurs="0" nillable="true" type="ApprovalListType" />
      <xs:element name="Evaluations" minOccurs="0" nillable="true" type="LearningResourceEvaluationListType" />
      <xs:element name="Components" type="LearningResourceComponentListType" />
      <xs:element name="LearningStandards" minOccurs="0" nillable="true" type="LearningStandardItemRefIdListType" />
      <xs:element name="LearningResourcePackageRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey87">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="LearningResource" type="LearningResourceType">
    <xs:key name="LearningResourceKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="LearningResourceCollectionType">
    <xs:sequence>
      <xs:element name="LearningResource" type="LearningResourceType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LearningResources" type="LearningResourceCollectionType" />


  <!--LearningResourcePackage-->

  <xs:complexType name="LearningResourcePackageType">
    <xs:complexContent>
      <xs:extension base="AbstractContentPackageType" />
    </xs:complexContent>
  </xs:complexType>

  <xs:element name="LearningResourcePackage" type="LearningResourcePackageType" />

  <xs:complexType name="LearningResourcePackageCollectionType">
    <xs:sequence>
      <xs:element name="LearningResourcePackage" type="LearningResourcePackageType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LearningResourcePackages" type="LearningResourcePackageCollectionType" />


  <!--ContentCatalog-->

  <xs:complexType name="ContentCatalogType">
    <xs:sequence>
      <xs:element name="ContentObject" type="ContentObjectType" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Author" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="LanguageCode" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="GradeLevelsType" />
      <xs:element name="SubjectAreas" minOccurs="0" nillable="true" type="SubjectAreaListType" />
      <xs:element name="MediaTypes" minOccurs="0" nillable="true" type="MediaTypeListType" />
      <xs:element name="LearningStandards" minOccurs="0" nillable="true" type="LearningStandardListType" />
      <xs:element name="InstructionalLevel" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="TechnicalRequirements" minOccurs="0" nillable="true" type="TechnicalRequirementsType" />
      <xs:element name="Duration" minOccurs="0" nillable="true" type="DurationType" />
      <xs:element name="CurriculumHierarchyList" minOccurs="0" nillable="true" type="CurriculumHierarchyListType" />
      <xs:element name="Prerequisites" minOccurs="0" nillable="true" type="PrerequisiteListType" />
      <xs:element name="Adaptations" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Size" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Cost" minOccurs="0" nillable="true" type="MonetaryAmountType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey88">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="ContentCatalog" type="ContentCatalogType" />

  <xs:complexType name="ContentCatalogCollectionType">
    <xs:sequence>
      <xs:element name="ContentCatalog" type="ContentCatalogType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ContentCatalogs" type="ContentCatalogCollectionType" />


  <!--PersonRoleAssociation-->

  <xs:complexType name="PersonRoleAssociationType">
    <xs:sequence>
      <xs:element name="PersonRefId" type="IdRefType" />
      <xs:element name="AssociatedRoleRefId" type="AssociatedRoleRefIdType" />
      <xs:element name="EntryDate" type="xs:date" />
      <xs:element name="ExitDate" type="xs:date" />
      <xs:element name="AuthoritativeSource" type="xs:string" />
      <xs:element name="Creator" minOccurs="0" nillable="true" type="TypedCreator2Type" />
      <xs:element name="CreationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey89">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="PersonRoleAssociation" type="PersonRoleAssociationType">
    <xs:key name="PersonRoleAssociationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="PersonRoleAssociationCollectionType">
    <xs:sequence>
      <xs:element name="PersonRoleAssociation" type="PersonRoleAssociationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PersonRoleAssociations" type="PersonRoleAssociationCollectionType" />


  <!--ResponseToIntervention-->

  <xs:complexType name="ResponseToInterventionType">
    <xs:sequence>
      <xs:element name="RTILocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="LocationWhereInterventionDelivered" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="InterventionProviderNames" minOccurs="0" nillable="true" type="InterventionProviderNameListType" />
      <xs:element name="Tier" type="xs:decimal" />
      <xs:element name="Interventions" type="InterventionListType" />
      <xs:element name="SubjectArea" type="SubjectAreaType" />
      <xs:element name="LearningStandardItems" minOccurs="0" nillable="true" type="LearningStandardItemRefIdListType" />
      <xs:element name="LearningObjectives" minOccurs="0" nillable="true" type="LearningObjectiveListType" />
      <xs:element name="Measurements" minOccurs="0" nillable="true" type="ResponseToInterventionMeasurementListType" />
      <xs:element name="Baselines" minOccurs="0" nillable="true" type="BaselineListType" />
      <xs:element name="Targets" minOccurs="0" nillable="true" type="TargetListType" />
      <xs:element name="EntryDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProjectedExitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="FrequencyTime" minOccurs="0" nillable="true" type="InterventionFrequencyTimeType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey90">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="StaffPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="StudentPlacementRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="ResponseToIntervention" type="ResponseToInterventionType">
    <xs:key name="ResponseToInterventionKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="ResponseToInterventionCollectionType">
    <xs:sequence>
      <xs:element name="ResponseToIntervention" type="ResponseToInterventionType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ResponseToInterventions" type="ResponseToInterventionCollectionType" />


  <!--RTIResults-->

  <xs:complexType name="RTIResultsType">
    <xs:sequence>
      <xs:element name="RTILocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Intervention" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PerformanceIndicators" minOccurs="0" nillable="true" type="PerformanceIndicatorListType" />
      <xs:element name="Measurements" minOccurs="0" nillable="true" type="ResponseToInterventionMeasurementListType" />
      <xs:element name="Baselines" minOccurs="0" nillable="true" type="BaselineListType" />
      <xs:element name="Targets" minOccurs="0" nillable="true" type="TargetListType" />
      <xs:element name="Results" minOccurs="0" nillable="true" type="ResultListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey91">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="StudentPlacementRefId" use="required" type="IdRefType" />
    <xs:attribute name="ResponseToInterventionRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="RTIResults" type="RTIResultsType">
    <xs:key name="RTIResultsKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="RTIResultsCollectionType">
    <xs:sequence>
      <xs:element name="RTIResults" type="RTIResultsType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RTIResultss" type="RTIResultsCollectionType" />


  <!--LearningStandardAssociation-->

  <xs:complexType name="LearningStandardAssociationType">
    <xs:sequence>
      <xs:element name="RefURI" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="LearningStandardRefId">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="ObjectType" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="LearningStandardItem" />
                    <xs:enumeration value="LearningStandardDocument" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="TargetObjects" type="TargetObjectListType" />
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="AuthoritativeSource" type="xs:normalizedString" />
      <xs:element name="Creator" type="TypedCreatorType" />
      <xs:element name="CreationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey92">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="LearningStandardAssociation" type="LearningStandardAssociationType">
    <xs:key name="LearningStandardAssociationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="LearningStandardAssociationCollectionType">
    <xs:sequence>
      <xs:element name="LearningStandardAssociation" type="LearningStandardAssociationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LearningStandardAssociations" type="LearningStandardAssociationCollectionType" />


  <!--LibraryAutomationWorkingGroup-->


  <!--LibraryPatronStatus-->

  <xs:complexType name="LibraryPatronStatusType">
    <xs:sequence>
      <xs:element name="ElectronicIdList" type="ElectronicIdListType" />
      <xs:element name="TransactionList" minOccurs="0" nillable="true" type="LibraryTransactionListType" />
      <xs:element name="MessageList" minOccurs="0" nillable="true" type="LibraryMessageListType" />
      <xs:element name="NumberOfCheckouts" type="xs:unsignedInt" />
      <xs:element name="NumberOfOverdues" type="xs:unsignedInt" />
      <xs:element name="NumberOfFines" type="xs:unsignedInt" />
      <xs:element name="FineAmount" type="MonetaryAmountType" />
      <xs:element name="NumberOfRefunds" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="RefundAmount" minOccurs="0" nillable="true" type="MonetaryAmountType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey93">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="LibraryType" use="required" type="xs:string" />
    <xs:attribute name="SIF_RefId" use="required" type="IdRefType" />
    <xs:attribute name="SIF_RefObject" use="required" type="xs:token" />
    <xs:attribute name="SIF_RefObjectCodeset" use="optional" type="xs:token" />
  </xs:complexType>

  <xs:element name="LibraryPatronStatus" type="LibraryPatronStatusType">
    <xs:key name="LibraryPatronStatusKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@SIF_RefId" />
      <xs:field xpath="@SIF_RefObject" />
    </xs:key>
  </xs:element>

  <xs:complexType name="LibraryPatronStatusCollectionType">
    <xs:sequence>
      <xs:element name="LibraryPatronStatus" type="LibraryPatronStatusType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LibraryPatronStatuss" type="LibraryPatronStatusCollectionType" />


  <!--StudentInformationSystemsWorkingGroup-->


  <!--Address-->

  <xs:complexType name="AddressType">
    <xs:sequence>
      <xs:element name="GridLocation" minOccurs="0" nillable="true" type="GridLocationType" />
      <xs:element name="AddressType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="gLocalIdType" />
      <xs:element name="Street" type="gStreetType" />
      <xs:element name="City" type="xs:normalizedString" />
      <xs:element name="Subregion" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:normalizedString">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="StateProvince" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Country" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="PostalCode" minOccurs="0" nillable="true" type="xs:token" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="gRefIdType" />
  </xs:complexType>

  <xs:element name="Address" type="AddressType">
    <xs:key name="AddressKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@refId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AddressCollectionType">
    <xs:sequence>
      <xs:element name="Address" type="AddressType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Addresss" type="AddressCollectionType" />


  <!--StudentProgramAssociation-->

  <xs:complexType name="StudentProgramAssociationType">
    <xs:sequence>
      <xs:element name="StudentRefId" type="gRefIdPointerType" />
      <xs:element name="ProgramRefId" type="gRefIdPointerType" />
      <xs:element name="SchoolYear" type="xs:gYear" />
      <xs:element name="EntryDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EntryType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="YearGroup" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExitStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExitType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="FTE" minOccurs="0" nillable="true" type="gFractionDecimalType" />
      <xs:element name="FTPTStatus" minOccurs="0" nillable="true" type="gFullTimeStatusType" />
      <xs:element name="PlacementType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ManagingSchoolLocalId" minOccurs="0" nillable="true" type="gLocalIdType" />
      <xs:element name="ManagingSchoolRefId" minOccurs="0" nillable="true" type="gRefIdPointerType" />
      <xs:element name="FundingSourceList" minOccurs="0" nillable="true" type="fundingSourceType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="gRefIdType" />
  </xs:complexType>

  <xs:element name="StudentProgramAssociation" type="StudentProgramAssociationType">
    <xs:key name="StudentProgramAssociationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@refId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentProgramAssociationCollectionType">
    <xs:sequence>
      <xs:element name="StudentProgramAssociation" type="StudentProgramAssociationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentProgramAssociations" type="StudentProgramAssociationCollectionType" />


  <!--StudentActivityInfo-->

  <xs:complexType name="StudentActivityInfoType">
    <xs:sequence>
      <xs:element name="Title" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StudentActivityType" type="StudentActivityTypeType" />
      <xs:element name="StudentActivityLevel" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="GradeLevelsType" />
      <xs:element name="CurricularStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Location" minOccurs="0" nillable="true" type="LocationType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey94">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="StudentActivityInfo" type="StudentActivityInfoType">
    <xs:key name="StudentActivityInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentActivityInfoCollectionType">
    <xs:sequence>
      <xs:element name="StudentActivityInfo" type="StudentActivityInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentActivityInfos" type="StudentActivityInfoCollectionType" />


  <!--StudentActivityParticipation-->

  <xs:complexType name="StudentActivityParticipationType">
    <xs:sequence>
      <xs:element name="ParticipationComment" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Role" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RecognitionList" minOccurs="0" nillable="true" type="RecognitionListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey95">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="StudentActivityInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentActivityParticipation" type="StudentActivityParticipationType">
    <xs:key name="StudentActivityParticipationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentActivityParticipationCollectionType">
    <xs:sequence>
      <xs:element name="StudentActivityParticipation" type="StudentActivityParticipationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentActivityParticipations" type="StudentActivityParticipationCollectionType" />


  <!--DisciplineIncident-->

  <xs:complexType name="DisciplineIncidentType">
    <xs:sequence>
      <xs:element name="AgencyReporting">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="SchoolInfo" />
                    <xs:enumeration value="LEAInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="IncidentNumber" type="xs:normalizedString" />
      <xs:element name="IncidentDate" type="xs:date" />
      <xs:element name="IncidentTime" type="IncidentTimeType" />
      <xs:element name="IncidentLocation" type="IncidentLocationType" />
      <xs:element name="IncidentLocationRefId" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="SchoolInfo" />
                    <xs:enumeration value="LocationInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="IncidentCost" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="IncidentReporter" type="IncidentReporterType" />
      <xs:element name="RelatedToList" minOccurs="0" nillable="true" type="RelatedToListType" />
      <xs:element name="WeaponTypeList" minOccurs="0" nillable="true" type="WeaponTypeListType" />
      <xs:element name="IncidentCategory" type="IncidentCategoryContainerType" />
      <xs:element name="OffenderList" type="OffenderListType" />
      <xs:element name="VictimList" minOccurs="0" nillable="true" type="VictimListType" />
      <xs:element name="IncidentDescription" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="IncidentActionList" minOccurs="0" nillable="true" type="IncidentActionListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey96">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="DisciplineIncident" type="DisciplineIncidentType">
    <xs:key name="DisciplineIncidentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="DisciplineIncidentCollectionType">
    <xs:sequence>
      <xs:element name="DisciplineIncident" type="DisciplineIncidentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DisciplineIncidents" type="DisciplineIncidentCollectionType" />


  <!--CalendarSummary-->

  <xs:complexType name="CalendarSummaryType">
    <xs:sequence>
      <xs:element name="LocalId" type="LocalIdType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="DaysInSession" type="xs:unsignedInt" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="FirstInstructionDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="LastInstructionDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="GraduationDate" minOccurs="0" nillable="true" type="GraduationDateType" />
      <xs:element name="InstructionalMinutes" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="MinutesPerDay" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="GradeLevelsType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey97">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="CalendarSummary" type="CalendarSummaryType">
    <xs:key name="CalendarSummaryKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="CalendarSummaryCollectionType">
    <xs:sequence>
      <xs:element name="CalendarSummary" type="CalendarSummaryType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CalendarSummarys" type="CalendarSummaryCollectionType" />


  <!--CalendarDate-->

  <xs:complexType name="CalendarDateType">
    <xs:sequence>
      <xs:element name="CalendarDateType" type="CalendarDateInfoType" />
      <xs:element name="CalendarDateNumber" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="StudentAttendance" minOccurs="0" nillable="true" type="AttendanceInfoType" />
      <xs:element name="TeacherAttendance" minOccurs="0" nillable="true" type="AttendanceInfoType" />
      <xs:element name="AdministratorAttendance" minOccurs="0" nillable="true" type="AttendanceInfoType" />
      <xs:element name="BellScheduleDayList" minOccurs="0" nillable="true" type="BellScheduleDayListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey98">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="Date" use="required" type="xs:date" />
    <xs:attribute name="CalendarSummaryRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="CalendarDate" type="CalendarDateType">
    <xs:key name="CalendarDateKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="CalendarDateCollectionType">
    <xs:sequence>
      <xs:element name="CalendarDate" type="CalendarDateType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CalendarDates" type="CalendarDateCollectionType" />


  <!--StudentAttendanceSummary-->

  <xs:complexType name="StudentAttendanceSummaryType">
    <xs:sequence>
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="StartDay" type="xs:unsignedInt" />
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="EndDay" type="xs:unsignedInt" />
      <xs:element name="Resident">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="FTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="2" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="DaysAttended" type="xs:decimal" />
      <xs:element name="ExcusedAbsences" type="xs:decimal" />
      <xs:element name="UnexcusedAbsences" type="xs:decimal" />
      <xs:element name="DaysTardy" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="DaysInMembership" type="xs:decimal" />
      <xs:element name="StudentSchoolEnrollmentRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey99">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentAttendanceSummary" type="StudentAttendanceSummaryType">
    <xs:key name="StudentAttendanceSummaryKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@StudentPersonalRefId" />
      <xs:field xpath="@SchoolInfoRefId" />
      <xs:field xpath="@SchoolYear" />
      <xs:field xpath="./StartDate" />
      <xs:field xpath="./EndDate" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentAttendanceSummaryCollectionType">
    <xs:sequence>
      <xs:element name="StudentAttendanceSummary" type="StudentAttendanceSummaryType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentAttendanceSummarys" type="StudentAttendanceSummaryCollectionType" />


  <!--AttendanceCodeInfo-->

  <xs:complexType name="AttendanceCodeInfoType">
    <xs:sequence>
      <xs:element name="AttendanceCode" type="xs:token" />
      <xs:element name="AttendanceType">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="AttendanceStatus">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AbsenceValue" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="3" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="UsedForDailyAttendance">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="UsedForPeriodAttendance">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey100">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="AttendanceCodeInfo" type="AttendanceCodeInfoType">
    <xs:key name="AttendanceCodeInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AttendanceCodeInfoCollectionType">
    <xs:sequence>
      <xs:element name="AttendanceCodeInfo" type="AttendanceCodeInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AttendanceCodeInfos" type="AttendanceCodeInfoCollectionType" />


  <!--RoomInfo-->

  <xs:complexType name="RoomInfoType">
    <xs:sequence>
      <xs:element name="RoomNumber" type="xs:token" />
      <xs:element name="StaffList" minOccurs="0" nillable="true" type="StaffListType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Building" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="HomeroomNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Size" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Capacity" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="PhoneNumber" minOccurs="0" nillable="true" type="PhoneNumberType" />
      <xs:element name="RoomTypeRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey101">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="RoomInfo" type="RoomInfoType">
    <xs:key name="RoomInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="RoomInfoCollectionType">
    <xs:sequence>
      <xs:element name="RoomInfo" type="RoomInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RoomInfos" type="RoomInfoCollectionType" />


  <!--RoomType-->

  <xs:complexType name="RoomTypeType">
    <xs:sequence>
      <xs:element name="Description" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey102">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="RoomType" type="RoomTypeType">
    <xs:key name="RoomTypeKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="RoomTypeCollectionType">
    <xs:sequence>
      <xs:element name="RoomType" type="RoomTypeType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RoomTypes" type="RoomTypeCollectionType" />


  <!--SchoolCourseInfo-->

  <xs:complexType name="SchoolCourseInfoType">
    <xs:sequence>
      <xs:element name="CourseCode" type="CourseCodeType" />
      <xs:element name="StateCourseCode" minOccurs="0" nillable="true" type="StateCourseCodeType" />
      <xs:element name="DistrictCourseCode" minOccurs="0" nillable="true" type="DistrictCourseCodeType" />
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="SubjectAreaListType" />
      <xs:element name="CourseTitle" type="CourseTitleType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="InstructionalLevelType" />
      <xs:element name="CourseCredits" minOccurs="0" nillable="true" type="CourseCreditsType" />
      <xs:element name="CoreAcademicCourse" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="GraduationRequirement" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Department" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SCEDCode" minOccurs="0" nillable="true" type="SCEDCodeType" />
      <xs:element name="DualCredit" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="CTEConcentrator" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey103">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="SchoolCourseInfo" type="SchoolCourseInfoType">
    <xs:key name="SchoolCourseInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="SchoolCourseInfoCollectionType">
    <xs:sequence>
      <xs:element name="SchoolCourseInfo" type="SchoolCourseInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SchoolCourseInfos" type="SchoolCourseInfoCollectionType" />


  <!--SchoolInfo-->

  <xs:complexType name="SchoolInfoType">
    <xs:sequence>
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="NCESId" minOccurs="0" nillable="true" type="NCESIdType" />
      <xs:element name="SchoolName" type="xs:normalizedString" />
      <xs:element name="LEAInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="OtherLEA" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="LEAInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SchoolType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SchoolFocusList" minOccurs="0" nillable="true" type="SchoolFocusListType" />
      <xs:element name="SchoolURL" minOccurs="0" nillable="true" type="SchoolURLType" />
      <xs:element name="PrincipalInfo" minOccurs="0" nillable="true" type="PrincipalInfoType" />
      <xs:element name="SchoolContactList" minOccurs="0" nillable="true" type="SchoolContactListType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey4">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="AddressRefIdList" minOccurs="0" nillable="true" type="AddressRefIdListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey4">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="IdentificationInfoList" minOccurs="0" nillable="true" type="IdentificationInfoListType" />
      <xs:element name="SessionType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="GradeLevelsType" />
      <xs:element name="Title1Status" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OperationalStatus" minOccurs="0" nillable="true" type="OperationalStatusType" />
      <xs:element name="CongressionalDistrict" minOccurs="0" nillable="true" type="CongressionalDistrictType" />
      <xs:element name="ActiveSchoolYear" minOccurs="0" nillable="true" type="xs:gYear" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey104">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="SchoolInfo" type="SchoolInfoType">
    <xs:key name="SchoolInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="SchoolInfoCollectionType">
    <xs:sequence>
      <xs:element name="SchoolInfo" type="SchoolInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SchoolInfos" type="SchoolInfoCollectionType" />


  <!--SectionInfo-->

  <xs:complexType name="SectionInfoType">
    <xs:sequence>
      <xs:element name="LocalId" type="LocalIdType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ScheduleInfoList" type="ScheduleInfoListType" />
      <xs:element name="MediumOfInstruction" minOccurs="0" nillable="true" type="MediumOfInstructionType" />
      <xs:element name="LanguageOfInstruction" minOccurs="0" nillable="true" type="LanguageOfInstructionType" />
      <xs:element name="LocationOfInstruction" minOccurs="0" nillable="true" type="LocationOfInstructionType" />
      <xs:element name="SummerSchool" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SchoolCourseInfoOverride" minOccurs="0" nillable="true" type="SchoolCourseInfoOverrideType" />
      <xs:element name="CourseSectionCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SectionCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="CountForAttendance" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="BellScheduleRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey105">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SchoolCourseInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="SectionInfo" type="SectionInfoType">
    <xs:key name="SectionInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="SectionInfoCollectionType">
    <xs:sequence>
      <xs:element name="SectionInfo" type="SectionInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SectionInfos" type="SectionInfoCollectionType" />


  <!--StaffPersonal-->

  <xs:complexType name="StaffPersonalType">
    <xs:sequence>
      <xs:element name="LocalId" type="LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="ElectronicIdList" minOccurs="0" nillable="true" type="ElectronicIdListType" />
      <xs:element name="OtherIdList" minOccurs="0" nillable="true" type="OtherIdListType" />
      <xs:element name="Name" type="NameOfRecordType" />
      <xs:element name="OtherNames" minOccurs="0" nillable="true" type="OtherNamesType">
        <xs:key name="OtherNamesKey1">
          <xs:selector xpath="./Name" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="DemographicsType" />
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey5">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="AddressRefIdList" minOccurs="0" nillable="true" type="AddressRefIdListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey5">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType">
        <xs:key name="EmailListKey2">
          <xs:selector xpath="./Email" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="EmployeePersonalRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey106">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="StaffPersonal" type="StaffPersonalType">
    <xs:key name="StaffPersonalKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StaffPersonalCollectionType">
    <xs:sequence>
      <xs:element name="StaffPersonal" type="StaffPersonalType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StaffPersonals" type="StaffPersonalCollectionType" />


  <!--StudentContact-->

  <xs:complexType name="StudentContactType">
    <xs:sequence>
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="OtherIdList" minOccurs="0" nillable="true" type="OtherIdListType" />
      <xs:element name="Name" type="NameOfRecordType" />
      <xs:element name="OtherNames" minOccurs="0" nillable="true" type="OtherNamesType">
        <xs:key name="OtherNamesKey2">
          <xs:selector xpath="./Name" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="DemographicsType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey6">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey6">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType">
        <xs:key name="EmailListKey3">
          <xs:selector xpath="./Email" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="Relationship" minOccurs="0" nillable="true" type="RelationshipType" />
      <xs:element name="EmployerType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="EducationalLevel" minOccurs="0" nillable="true" type="EducationalLevelType" />
      <xs:element name="ContactFlags" type="ContactFlagsType" />
      <xs:element name="ContactSequence" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey107">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="StudentContact" type="StudentContactType">
    <xs:key name="StudentContactKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentContactCollectionType">
    <xs:sequence>
      <xs:element name="StudentContact" type="StudentContactType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentContacts" type="StudentContactCollectionType" />


  <!--StudentDailyAttendance-->

  <xs:complexType name="StudentDailyAttendanceType">
    <xs:sequence>
      <xs:element name="AttendanceCodeInfoRefId" type="IdRefType" />
      <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="AttendanceNote" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey108">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="Date" use="required" type="xs:date" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentDailyAttendance" type="StudentDailyAttendanceType">
    <xs:key name="StudentDailyAttendanceKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@StudentPersonalRefId" />
      <xs:field xpath="@SchoolInfoRefId" />
      <xs:field xpath="@Date" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentDailyAttendanceCollectionType">
    <xs:sequence>
      <xs:element name="StudentDailyAttendance" type="StudentDailyAttendanceType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentDailyAttendances" type="StudentDailyAttendanceCollectionType" />


  <!--StudentPersonal-->

  <xs:complexType name="StudentPersonalType">
    <xs:sequence>
      <xs:element name="AlertMessages" minOccurs="0" nillable="true" type="AlertMessagesType" />
      <xs:element name="MedicalAlertMessages" minOccurs="0" nillable="true" type="MedicalAlertMessagesType" />
      <xs:element name="LocalId" type="LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="ElectronicIdList" minOccurs="0" nillable="true" type="ElectronicIdListType" />
      <xs:element name="OtherIdList" minOccurs="0" nillable="true" type="OtherIdListType" />
      <xs:element name="Name" type="NameOfRecordType" />
      <xs:element name="OtherNames" minOccurs="0" nillable="true" type="OtherNamesType">
        <xs:key name="OtherNamesKey3">
          <xs:selector xpath="./Name" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="DemographicsType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey7">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="AddressRefIdList" minOccurs="0" nillable="true" type="AddressRefIdListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey7">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType">
        <xs:key name="EmailListKey4">
          <xs:selector xpath="./Email" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="ProjectedGraduationYear" minOccurs="0" nillable="true" type="ProjectedGraduationYearType" />
      <xs:element name="OnTimeGraduationYear" minOccurs="0" nillable="true" type="OnTimeGraduationYearType" />
      <xs:element name="GraduationDate" minOccurs="0" nillable="true" type="GraduationDateType" />
      <xs:element name="MostRecent" minOccurs="0" nillable="true" type="StudentMostRecentContainerType" />
      <xs:element name="AcceptableUsePolicy" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="IDEA" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Migrant" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Title1" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="GiftedTalented" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="EconomicDisadvantage" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ELL" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Homeless" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Section504" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="VocationalConcentrator" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Immigrant" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="NeglectedDelinquent" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="FirstUSEnrollment" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey109">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="StudentPersonal" type="StudentPersonalType">
    <xs:key name="StudentPersonalKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentPersonalCollectionType">
    <xs:sequence>
      <xs:element name="StudentPersonal" type="StudentPersonalType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentPersonals" type="StudentPersonalCollectionType" />


  <!--StudentPicture-->

  <xs:complexType name="StudentPictureType">
    <xs:sequence>
      <xs:element name="PictureSource" type="PictureSourceType" />
      <xs:element name="OKToPublish" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey110">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentPicture" type="StudentPictureType">
    <xs:key name="StudentPictureKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@StudentPersonalRefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentPictureCollectionType">
    <xs:sequence>
      <xs:element name="StudentPicture" type="StudentPictureType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentPictures" type="StudentPictureCollectionType" />


  <!--StudentSchoolEnrollment-->

  <xs:complexType name="StudentSchoolEnrollmentType">
    <xs:sequence>
      <xs:element name="EntryDate" type="xs:date" />
      <xs:element name="EntryType" minOccurs="0" nillable="true" type="StudentEntryTypeType" />
      <xs:element name="GradeLevel" minOccurs="0" nillable="true" type="GradeLevelType" />
      <xs:element name="Homeroom" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="RoomInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Advisor" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="StaffPersonal" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Counselor" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="StaffPersonal" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Calendar" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="CalendarSummary" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExitStatus" minOccurs="0" nillable="true" type="StudentExitStatusType" />
      <xs:element name="ExitType" minOccurs="0" nillable="true" type="StudentExitTypeType" />
      <xs:element name="RecordClosureReason" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="PromotionInfo" minOccurs="0" nillable="true" type="PromotionInfoType" />
      <xs:element name="FTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="2" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="FTPTStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ResidencyStatus" minOccurs="0" nillable="true" type="ResidencyStatusType" />
      <xs:element name="NonResidentAttendReason" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey111">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="MembershipType" use="required" type="xs:token" />
    <xs:attribute name="MembershipTypeCodeset" use="optional" type="xs:token" />
    <xs:attribute name="TimeFrame" use="required" type="xs:token" />
    <xs:attribute name="TimeFrameCodeset" use="optional" type="xs:token" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentSchoolEnrollment" type="StudentSchoolEnrollmentType">
    <xs:key name="StudentSchoolEnrollmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentSchoolEnrollmentCollectionType">
    <xs:sequence>
      <xs:element name="StudentSchoolEnrollment" type="StudentSchoolEnrollmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentSchoolEnrollments" type="StudentSchoolEnrollmentCollectionType" />


  <!--StudentSectionEnrollment-->

  <xs:complexType name="StudentSectionEnrollmentType">
    <xs:sequence>
      <xs:element name="EntryDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ScheduleInfoOverrideList" minOccurs="0" nillable="true" type="ScheduleInfoOverrideListType" />
      <xs:element name="CreditsAttempted" minOccurs="0" nillable="true" type="CreditsAttemptedType" />
      <xs:element name="DualCredit" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="CTEConcentrator" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey112">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="SectionInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentSectionEnrollment" type="StudentSectionEnrollmentType">
    <xs:key name="StudentSectionEnrollmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentSectionEnrollmentCollectionType">
    <xs:sequence>
      <xs:element name="StudentSectionEnrollment" type="StudentSectionEnrollmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentSectionEnrollments" type="StudentSectionEnrollmentCollectionType" />


  <!--TermInfo-->

  <xs:complexType name="TermInfoType">
    <xs:sequence>
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RelativeDuration" 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="4" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TermSpan" minOccurs="0" nillable="true" type="TermSpanType" />
      <xs:element name="MarkingTerm" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SchedulingTerm" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="AttendanceTerm" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey113">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="TermInfo" type="TermInfoType">
    <xs:key name="TermInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="TermInfoCollectionType">
    <xs:sequence>
      <xs:element name="TermInfo" type="TermInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TermInfos" type="TermInfoCollectionType" />


  <!--StudentSnapshot-->

  <xs:complexType name="StudentSnapshotType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameType" />
      <xs:element name="LocalId" type="LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="OldAddressType" />
      <xs:element name="RaceList" minOccurs="0" nillable="true" type="RaceListType" />
      <xs:element name="HispanicLatino" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Gender" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="BirthDate" minOccurs="0" nillable="true" type="BirthDateType" />
      <xs:element name="Age" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="ProjectedGraduationYear" minOccurs="0" nillable="true" type="ProjectedGraduationYearType" />
      <xs:element name="OnTimeGraduationYear" minOccurs="0" nillable="true" type="OnTimeGraduationYearType" />
      <xs:element name="GraduationDate" minOccurs="0" nillable="true" type="GraduationDateType" />
      <xs:element name="GraduationAward" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="GraduationOnTime" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="HomeEnrollment" type="HomeEnrollmentType" />
      <xs:element name="IDEA" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Migrant" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Title1" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="GiftedTalented" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="EconomicDisadvantage" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ELL" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Homeless" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Section504" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="VocationalConcentrator" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Immigrant" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="NeglectedDelinquent" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="FreeAndReducedStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey114">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SnapDate" use="required" type="xs:date" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
  </xs:complexType>

  <xs:element name="StudentSnapshot" type="StudentSnapshotType">
    <xs:key name="StudentSnapshotKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@SnapDate" />
      <xs:field xpath="@StudentPersonalRefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentSnapshotCollectionType">
    <xs:sequence>
      <xs:element name="StudentSnapshot" type="StudentSnapshotType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentSnapshots" type="StudentSnapshotCollectionType" />


  <!--LEAInfo-->

  <xs:complexType name="LEAInfoType">
    <xs:sequence>
      <xs:element name="LocalId" type="LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="NCESId" minOccurs="0" nillable="true" type="NCESIdType" />
      <xs:element name="LEAName" type="LEANameType" />
      <xs:element name="LEAURL" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="EducationAgencyType" minOccurs="0" nillable="true" type="EducationAgencyTypeType" />
      <xs:element name="LEAContactList" minOccurs="0" nillable="true" type="LEAContactListType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey8">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey8">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="AddressRefIdList" minOccurs="0" nillable="true" type="AddressRefIdListType" />
      <xs:element name="IdentificationInfoList" minOccurs="0" nillable="true" type="IdentificationInfoListType" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="GradeLevelsType" />
      <xs:element name="OperationalStatus" minOccurs="0" nillable="true" type="OperationalStatusType" />
      <xs:element name="CongressionalDistrict" minOccurs="0" nillable="true" type="CongressionalDistrictType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey115">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="LEAInfo" type="LEAInfoType">
    <xs:key name="LEAInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="LEAInfoCollectionType">
    <xs:sequence>
      <xs:element name="LEAInfo" type="LEAInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LEAInfos" type="LEAInfoCollectionType" />


  <!--StaffAssignment-->

  <xs:complexType name="StaffAssignmentType">
    <xs:sequence>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PrimaryAssignment">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="JobStartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="JobEndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="JobFTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="2" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="JobFunction" minOccurs="0" nillable="true" type="JobFunctionType" />
      <xs:element name="TeachingAssignment" minOccurs="0" nillable="true" type="TeachingAssignmentType" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="GradeLevelsType" />
      <xs:element name="ItinerantTeacher" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="InstructionalLevelType" />
      <xs:element name="EmployeePersonalRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey116">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
    <xs:attribute name="SchoolYear" use="required" type="SchoolYearType" />
    <xs:attribute name="StaffPersonalRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="StaffAssignment" type="StaffAssignmentType">
    <xs:key name="StaffAssignmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StaffAssignmentCollectionType">
    <xs:sequence>
      <xs:element name="StaffAssignment" type="StaffAssignmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StaffAssignments" type="StaffAssignmentCollectionType" />


  <!--BellSchedule-->

  <xs:complexType name="BellScheduleType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="SchoolYear" type="SchoolYearType" />
      <xs:element name="BellScheduleName" type="xs:normalizedString" />
      <xs:element name="TimetableDayList" type="TimetableDayListType" />
      <xs:element name="TimetablePeriodList" type="TimetablePeriodListType" />
      <xs:element name="BellPeriodList" type="BellPeriodListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey117">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="BellSchedule" type="BellScheduleType">
    <xs:key name="BellScheduleKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="BellScheduleCollectionType">
    <xs:sequence>
      <xs:element name="BellSchedule" type="BellScheduleType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BellSchedules" type="BellScheduleCollectionType" />


  <!--StudentContactPersonal-->

  <xs:complexType name="StudentContactPersonalType">
    <xs:sequence>
      <xs:element name="PersonInfo" type="PersonInfoType" />
      <xs:element name="EmployerType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="EducationLevel" minOccurs="0" nillable="true" type="EducationalLevelType" />
      <xs:element name="OptOutEmail" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey118">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="StudentContactPersonal" type="StudentContactPersonalType">
    <xs:key name="StudentContactPersonalKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentContactPersonalCollectionType">
    <xs:sequence>
      <xs:element name="StudentContactPersonal" type="StudentContactPersonalType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentContactPersonals" type="StudentContactPersonalCollectionType" />


  <!--StudentContactRelationship-->

  <xs:complexType name="StudentContactRelationshipType">
    <xs:sequence>
      <xs:element name="Relationship" type="RelationshipType" />
      <xs:element name="ContactFlags" type="ContactFlagsType" />
      <xs:element name="ContactSequence" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey119">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="StudentContactPersonalRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="StudentContactRelationship" type="StudentContactRelationshipType">
    <xs:key name="StudentContactRelationshipKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@StudentPersonalRefId" />
      <xs:field xpath="@StudentContactPersonalRefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentContactRelationshipCollectionType">
    <xs:sequence>
      <xs:element name="StudentContactRelationship" type="StudentContactRelationshipType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentContactRelationships" type="StudentContactRelationshipCollectionType" />


  <!--StaffSectionAssignment-->

  <xs:complexType name="StaffSectionAssignmentType">
    <xs:sequence>
      <xs:element name="StaffPersonalRefId" type="IdRefType" />
      <xs:element name="SectionInfoRefId" type="IdRefType" />
      <xs:element name="AssignmentStartDate" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="AssignmentEndDate" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="TeacherOfRecord">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Roles" type="RolesType" />
      <xs:element name="PercentResponsible" 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="100" 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="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey120">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="StaffSectionAssignment" type="StaffSectionAssignmentType">
    <xs:key name="StaffSectionAssignmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StaffSectionAssignmentCollectionType">
    <xs:sequence>
      <xs:element name="StaffSectionAssignment" type="StaffSectionAssignmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StaffSectionAssignments" type="StaffSectionAssignmentCollectionType" />


  <!--StaffEvaluation-->

  <xs:complexType name="StaffEvaluationType">
    <xs:sequence>
      <xs:element name="StaffPersonalRefId" type="IdRefType" />
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="NCESId" minOccurs="0" nillable="true" type="NCESIdType" />
      <xs:element name="EvaluatorStateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="BargainingUnit" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="EvaluationCycleName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="EvaluationPreconferenceDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProjectedEvaluationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EvaluationDate" type="xs:date" />
      <xs:element name="EvaluationPostconferenceDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EvaluationSystem" type="xs:normalizedString" />
      <xs:element name="EvaluationParts" minOccurs="0" nillable="true" type="EvaluationPartsType" />
      <xs:element name="EvaluationHolisticScore" type="xs:normalizedString" />
      <xs:element name="EvaluationHolisticScale" type="xs:normalizedString" />
      <xs:element name="EvaluationRecommendation" minOccurs="0" nillable="true" type="EvaluationRecommendationType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey121">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="StaffEvaluation" type="StaffEvaluationType">
    <xs:key name="StaffEvaluationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StaffEvaluationCollectionType">
    <xs:sequence>
      <xs:element name="StaffEvaluation" type="StaffEvaluationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StaffEvaluations" type="StaffEvaluationCollectionType" />


  <!--SectionCorrelation-->

  <xs:complexType name="SectionCorrelationType">
    <xs:sequence>
      <xs:element name="CorrelationName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="CorrelationType" minOccurs="0" nillable="true" type="CorrelationTypeType" />
      <xs:element name="CorrelationSectionList" minOccurs="0" nillable="true" type="CorrelationSectionListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey122">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="SectionCorrelation" type="SectionCorrelationType">
    <xs:key name="SectionCorrelationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="SectionCorrelationCollectionType">
    <xs:sequence>
      <xs:element name="SectionCorrelation" type="SectionCorrelationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SectionCorrelations" type="SectionCorrelationCollectionType" />


  <!--TransportationAndGeographicInformationWorkingGroup-->


  <!--BusEquipment-->

  <xs:complexType name="BusEquipmentType">
    <xs:sequence>
      <xs:element name="Description" type="xs:string" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey123">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="BusEquipment" type="BusEquipmentType">
    <xs:key name="BusEquipmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="BusEquipmentCollectionType">
    <xs:sequence>
      <xs:element name="BusEquipment" type="BusEquipmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BusEquipments" type="BusEquipmentCollectionType" />


  <!--BusInfo-->

  <xs:complexType name="BusInfoType">
    <xs:sequence>
      <xs:element name="VehicleNumber" type="xs:normalizedString" />
      <xs:element name="SeatingCapacity" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Contractor" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="EquipmentList" minOccurs="0" nillable="true" type="BusInfoEquipmentListType" />
      <xs:element name="ManufactureYear" minOccurs="0" nillable="true" type="xs:gYear" />
      <xs:element name="VehicleIdentificationNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="LicensePlateNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey124">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="BusInfo" type="BusInfoType">
    <xs:key name="BusInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="BusInfoCollectionType">
    <xs:sequence>
      <xs:element name="BusInfo" type="BusInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BusInfos" type="BusInfoCollectionType" />


  <!--BusRouteDetail-->

  <xs:complexType name="BusRouteDetailType">
    <xs:sequence>
      <xs:element name="BusStopInfoRefId" type="IdRefType" />
      <xs:element name="ArrivalTime" type="xs:time" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey125">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="BusRouteInfoRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="BusRouteDetail" type="BusRouteDetailType">
    <xs:key name="BusRouteDetailKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="BusRouteDetailCollectionType">
    <xs:sequence>
      <xs:element name="BusRouteDetail" type="BusRouteDetailType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BusRouteDetails" type="BusRouteDetailCollectionType" />


  <!--BusRouteInfo-->

  <xs:complexType name="BusRouteInfoType">
    <xs:sequence>
      <xs:element name="BusInfoRefId" type="IdRefType" />
      <xs:element name="RouteNumber" type="xs:normalizedString" />
      <xs:element name="RouteType">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="MaximumLoad" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameType" />
      <xs:element name="RouteDurationLoaded" minOccurs="0" nillable="true" type="xs:duration" />
      <xs:element name="RouteDurationTotal" minOccurs="0" nillable="true" type="xs:duration" />
      <xs:element name="RouteDistanceLoaded" minOccurs="0" nillable="true" type="DistanceType" />
      <xs:element name="RouteDistanceTotal" minOccurs="0" nillable="true" type="DistanceType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey126">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="BusRouteInfo" type="BusRouteInfoType">
    <xs:key name="BusRouteInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="BusRouteInfoCollectionType">
    <xs:sequence>
      <xs:element name="BusRouteInfo" type="BusRouteInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BusRouteInfos" type="BusRouteInfoCollectionType" />


  <!--BusStopInfo-->

  <xs:complexType name="BusStopInfoType">
    <xs:sequence>
      <xs:element name="Description" type="xs:string" />
      <xs:element name="GridLocation" minOccurs="0" nillable="true" type="GridLocationType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey127">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="BusStopInfo" type="BusStopInfoType">
    <xs:key name="BusStopInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="BusStopInfoCollectionType">
    <xs:sequence>
      <xs:element name="BusStopInfo" type="BusStopInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BusStopInfos" type="BusStopInfoCollectionType" />


  <!--StudentTransportInfo-->

  <xs:complexType name="StudentTransportInfoType">
    <xs:sequence>
      <xs:element name="Eligibility" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="HomeToSchoolDistance" minOccurs="0" nillable="true" type="DistanceType" />
      <xs:element name="WalkToStopDistance" minOccurs="0" nillable="true" type="DistanceType" />
      <xs:element name="StopToSchoolDistance" minOccurs="0" nillable="true" type="DistanceType" />
      <xs:element name="OriginPoint" minOccurs="0" nillable="true" type="OriginPointType" />
      <xs:element name="HomeBusRouteDetail" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="BusRouteDetail" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="TransferPoints" minOccurs="0" nillable="true" type="TransferPointListType" />
      <xs:element name="SchoolBusRouteDetail" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="BusRouteDetail" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="DestinationPoint" minOccurs="0" nillable="true" type="DestinationPointType" />
      <xs:element name="StateAidQualification" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="TransportationStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="PublicExpense" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey128">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="StudentPersonalRefId" use="required" type="IdRefType" />
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
    <xs:attribute name="DayOfWeek" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:pattern value="(Mo)?(Tu)?(We)?(Th)?(Fr)?(Sa)?(Su)?" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="DayOfWeekCodeset" use="optional" type="xs:token" />
    <xs:attribute name="SchoolInfoRefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="StudentTransportInfo" type="StudentTransportInfoType">
    <xs:key name="StudentTransportInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="StudentTransportInfoCollectionType">
    <xs:sequence>
      <xs:element name="StudentTransportInfo" type="StudentTransportInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentTransportInfos" type="StudentTransportInfoCollectionType" />


  <!--BusPositionInfo-->

  <xs:complexType name="BusPositionInfoType">
    <xs:sequence>
      <xs:element name="Date" type="xs:date" />
      <xs:element name="Time" type="xs:time" />
      <xs:element name="GridLocation" type="GridLocationType" />
      <xs:element name="TelematicsId" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TelemetryList" minOccurs="0" nillable="true" type="TelemetryListType" />
      <xs:element name="BusDriver" minOccurs="0" nillable="true" type="BusStaffType" />
      <xs:element name="BusStaffList" minOccurs="0" nillable="true" type="BusStaffListType" />
      <xs:element name="RouteStatus" minOccurs="0" nillable="true" type="BusRouteStatusType" />
      <xs:element name="OtherStatus" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Odometer" minOccurs="0" nillable="true" type="DistanceType" />
      <xs:element name="Speedometer" minOccurs="0" nillable="true" type="DistanceType" />
      <xs:element name="Students" minOccurs="0" nillable="true" type="BusPositionStudentListType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey129">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="IdRefType" />
  </xs:complexType>

  <xs:element name="BusPositionInfo" type="BusPositionInfoType">
    <xs:key name="BusPositionInfoKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="BusPositionInfoCollectionType">
    <xs:sequence>
      <xs:element name="BusPositionInfo" type="BusPositionInfoType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BusPositionInfos" type="BusPositionInfoCollectionType" />


  <!--InfrastructureWorkingGroup-->


  <!--Authentication-->

  <xs:complexType name="AuthenticationType">
    <xs:sequence>
      <xs:element name="AuthenticationInfo" type="AuthenticationInfoType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey130">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
    <xs:attribute name="SIF_RefId" use="required" type="IdRefType" />
    <xs:attribute name="SIF_RefObject" use="required" type="xs:token" />
    <xs:attribute name="SIF_RefObjectCodeset" use="optional" type="xs:token" />
  </xs:complexType>

  <xs:element name="Authentication" type="AuthenticationType">
    <xs:key name="AuthenticationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="AuthenticationCollectionType">
    <xs:sequence>
      <xs:element name="Authentication" type="AuthenticationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Authentications" type="AuthenticationCollectionType" />


  <!--FacilitiesAndEnergyManagement-->


  <!--EnergyUsage-->

  <xs:complexType name="EnergyUsageType">
    <xs:sequence>
      <xs:element name="UsageLocationInfo" type="EnergyUsageLocationInfoType" />
      <xs:element name="DataSource" minOccurs="0" nillable="true" type="EnergyUsageDataSourceType" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey131">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="EnergyUsage" type="EnergyUsageType" />

  <xs:complexType name="EnergyUsageCollectionType">
    <xs:sequence>
      <xs:element name="EnergyUsage" type="EnergyUsageType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="EnergyUsages" type="EnergyUsageCollectionType" />


  <!--IdentityManagementProjectTeam-->


  <!--IdMApplication-->

  <xs:complexType name="IdMApplicationType">
    <xs:sequence>
      <xs:element name="Name" type="xs:token" />
      <xs:element name="URI" type="xs:anyURI" />
      <xs:element name="DefaultFunction" type="xs:token" />
      <xs:element name="FunctionList" minOccurs="0" nillable="true" type="FunctionListType" />
      <xs:element name="DefaultIdentityProvider" type="IdRefType" />
      <xs:element name="IdentityProviderList" minOccurs="0" nillable="true" type="IdentityProviderListType" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey132">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="IdMApplication" type="IdMApplicationType">
    <xs:key name="IdMApplicationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="IdMApplicationCollectionType">
    <xs:sequence>
      <xs:element name="IdMApplication" type="IdMApplicationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="IdMApplications" type="IdMApplicationCollectionType" />


  <!--IdMAuthentication-->

  <xs:complexType name="IdMAuthenticationType">
    <xs:sequence>
      <xs:element name="UserOrganizationAssociationRefId" type="IdRefType" />
      <xs:element name="ApplicationRefId" type="IdRefType" />
      <xs:element name="IdentityProviderLoginId" type="xs:token" />
      <xs:element name="IdentityProviderType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="AuthoritativeSourceId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey133">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="IdMAuthentication" type="IdMAuthenticationType">
    <xs:key name="IdMAuthenticationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="IdMAuthenticationCollectionType">
    <xs:sequence>
      <xs:element name="IdMAuthentication" type="IdMAuthenticationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="IdMAuthentications" type="IdMAuthenticationCollectionType" />


  <!--IdMAuthorization-->

  <xs:complexType name="IdMAuthorizationType">
    <xs:sequence>
      <xs:element name="UserOrganizationAssociationRefId" type="IdRefType" />
      <xs:element name="ApplicationRefId" type="IdRefType" />
      <xs:element name="ApplicationFunction" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="AuthoritativeSourceId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey134">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="IdMAuthorization" type="IdMAuthorizationType">
    <xs:key name="IdMAuthorizationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="IdMAuthorizationCollectionType">
    <xs:sequence>
      <xs:element name="IdMAuthorization" type="IdMAuthorizationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="IdMAuthorizations" type="IdMAuthorizationCollectionType" />


  <!--UserOrganizationAssociation-->

  <xs:complexType name="UserOrganizationAssociationType">
    <xs:sequence>
      <xs:element name="PersonRefId">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_Object" use="required" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OrganizationRefId">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_Object" use="required" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="AssociationType" type="xs:token" />
      <xs:element name="AuthoritativeSourceId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey135">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>

  <xs:element name="UserOrganizationAssociation" type="UserOrganizationAssociationType">
    <xs:key name="UserOrganizationAssociationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@RefId" />
    </xs:key>
  </xs:element>

  <xs:complexType name="UserOrganizationAssociationCollectionType">
    <xs:sequence>
      <xs:element name="UserOrganizationAssociation" type="UserOrganizationAssociationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="UserOrganizationAssociations" type="UserOrganizationAssociationCollectionType" />

  <xs:simpleType name="xSessionTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="FullSchoolYear" />
      <xs:enumeration value="Intersession" />
      <xs:enumeration value="LongSession" />
      <xs:enumeration value="MiniTerm" />
      <xs:enumeration value="Quarter" />
      <xs:enumeration value="Quinmester" />
      <xs:enumeration value="Semester" />
      <xs:enumeration value="SummerTerm" />
      <xs:enumeration value="Trimester" />
      <xs:enumeration value="TwelveMonth" />
      <xs:enumeration value="Other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xPersonNameTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Alias" />
      <xs:enumeration value="Nickname" />
      <xs:enumeration value="OtherName" />
      <xs:enumeration value="PreviousLegalName" />
      <xs:enumeration value="PreferredFamilyName" />
      <xs:enumeration value="PreferredGivenName" />
      <xs:enumeration value="FullName" />
      <xs:enumeration value="LegalName" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xPersonIdSystemType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Alias" />
      <xs:enumeration value="USVisa" />
      <xs:enumeration value="PIN" />
      <xs:enumeration value="DriversLicense" />
      <xs:enumeration value="Medicaid" />
      <xs:enumeration value="Healthcare" />
      <xs:enumeration value="ProfessionalCertificate" />
      <xs:enumeration value="Institution" />
      <xs:enumeration value="OtherFederal" />
      <xs:enumeration value="SelectiveService" />
      <xs:enumeration value="Other" />
      <xs:enumeration value="CanadianSIN" />
      <xs:enumeration value="District" />
      <xs:enumeration value="Family" />
      <xs:enumeration value="Federal" />
      <xs:enumeration value="NationalMigrant" />
      <xs:enumeration value="School" />
      <xs:enumeration value="SSN" />
      <xs:enumeration value="State" />
      <xs:enumeration value="StateMigrant" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xAddressTypeForLearnerOrFamilyType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Mailing" />
      <xs:enumeration value="Physical" />
      <xs:enumeration value="Shipping" />
      <xs:enumeration value="Billing" />
      <xs:enumeration value="OnCampus" />
      <xs:enumeration value="OffCampus" />
      <xs:enumeration value="PermanentStudent" />
      <xs:enumeration value="PermanentAdmission" />
      <xs:enumeration value="FatherAddress" />
      <xs:enumeration value="MotherAddress" />
      <xs:enumeration value="GuardianAddress" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xStateCodeUSType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AK" />
      <xs:enumeration value="AL" />
      <xs:enumeration value="AR" />
      <xs:enumeration value="AS" />
      <xs:enumeration value="AZ" />
      <xs:enumeration value="CA" />
      <xs:enumeration value="CO" />
      <xs:enumeration value="CT" />
      <xs:enumeration value="DC" />
      <xs:enumeration value="DE" />
      <xs:enumeration value="FL" />
      <xs:enumeration value="FM" />
      <xs:enumeration value="GA" />
      <xs:enumeration value="GU" />
      <xs:enumeration value="HI" />
      <xs:enumeration value="IA" />
      <xs:enumeration value="ID" />
      <xs:enumeration value="IL" />
      <xs:enumeration value="IN" />
      <xs:enumeration value="KS" />
      <xs:enumeration value="KY" />
      <xs:enumeration value="LA" />
      <xs:enumeration value="MA" />
      <xs:enumeration value="MD" />
      <xs:enumeration value="ME" />
      <xs:enumeration value="MH" />
      <xs:enumeration value="MI" />
      <xs:enumeration value="MN" />
      <xs:enumeration value="MO" />
      <xs:enumeration value="MP" />
      <xs:enumeration value="MS" />
      <xs:enumeration value="MT" />
      <xs:enumeration value="NC" />
      <xs:enumeration value="ND" />
      <xs:enumeration value="NE" />
      <xs:enumeration value="NH" />
      <xs:enumeration value="NJ" />
      <xs:enumeration value="NM" />
      <xs:enumeration value="NV" />
      <xs:enumeration value="NY" />
      <xs:enumeration value="OH" />
      <xs:enumeration value="OK" />
      <xs:enumeration value="OR" />
      <xs:enumeration value="PA" />
      <xs:enumeration value="PR" />
      <xs:enumeration value="PW" />
      <xs:enumeration value="RI" />
      <xs:enumeration value="SC" />
      <xs:enumeration value="SD" />
      <xs:enumeration value="TN" />
      <xs:enumeration value="TX" />
      <xs:enumeration value="UT" />
      <xs:enumeration value="VA" />
      <xs:enumeration value="VI" />
      <xs:enumeration value="VT" />
      <xs:enumeration value="WA" />
      <xs:enumeration value="WI" />
      <xs:enumeration value="WV" />
      <xs:enumeration value="WY" />
      <xs:enumeration value="AA" />
      <xs:enumeration value="AE" />
      <xs:enumeration value="AP" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xCountryCodeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AF" />
      <xs:enumeration value="AX" />
      <xs:enumeration value="AL" />
      <xs:enumeration value="DZ" />
      <xs:enumeration value="AS" />
      <xs:enumeration value="AD" />
      <xs:enumeration value="AO" />
      <xs:enumeration value="AI" />
      <xs:enumeration value="AQ" />
      <xs:enumeration value="AG" />
      <xs:enumeration value="AR" />
      <xs:enumeration value="AM" />
      <xs:enumeration value="AW" />
      <xs:enumeration value="AU" />
      <xs:enumeration value="AT" />
      <xs:enumeration value="AZ" />
      <xs:enumeration value="BS" />
      <xs:enumeration value="BH" />
      <xs:enumeration value="BD" />
      <xs:enumeration value="BB" />
      <xs:enumeration value="BY" />
      <xs:enumeration value="BE" />
      <xs:enumeration value="BZ" />
      <xs:enumeration value="BJ" />
      <xs:enumeration value="BM" />
      <xs:enumeration value="BT" />
      <xs:enumeration value="BO" />
      <xs:enumeration value="BQ" />
      <xs:enumeration value="BA" />
      <xs:enumeration value="BW" />
      <xs:enumeration value="BV" />
      <xs:enumeration value="BR" />
      <xs:enumeration value="IO" />
      <xs:enumeration value="BN" />
      <xs:enumeration value="BG" />
      <xs:enumeration value="BF" />
      <xs:enumeration value="BI" />
      <xs:enumeration value="KH" />
      <xs:enumeration value="CM" />
      <xs:enumeration value="CA" />
      <xs:enumeration value="CV" />
      <xs:enumeration value="KY" />
      <xs:enumeration value="CF" />
      <xs:enumeration value="TD" />
      <xs:enumeration value="CL" />
      <xs:enumeration value="CN" />
      <xs:enumeration value="CX" />
      <xs:enumeration value="CC" />
      <xs:enumeration value="CO" />
      <xs:enumeration value="KM" />
      <xs:enumeration value="CG" />
      <xs:enumeration value="CD" />
      <xs:enumeration value="CK" />
      <xs:enumeration value="CR" />
      <xs:enumeration value="CI" />
      <xs:enumeration value="HR" />
      <xs:enumeration value="CU" />
      <xs:enumeration value="CW" />
      <xs:enumeration value="CY" />
      <xs:enumeration value="CZ" />
      <xs:enumeration value="DK" />
      <xs:enumeration value="DJ" />
      <xs:enumeration value="DM" />
      <xs:enumeration value="DO" />
      <xs:enumeration value="EC" />
      <xs:enumeration value="EG" />
      <xs:enumeration value="SV" />
      <xs:enumeration value="GQ" />
      <xs:enumeration value="ER" />
      <xs:enumeration value="EE" />
      <xs:enumeration value="ET" />
      <xs:enumeration value="FK" />
      <xs:enumeration value="FO" />
      <xs:enumeration value="FJ" />
      <xs:enumeration value="FI" />
      <xs:enumeration value="FR" />
      <xs:enumeration value="GF" />
      <xs:enumeration value="PF" />
      <xs:enumeration value="TF" />
      <xs:enumeration value="GA" />
      <xs:enumeration value="GM" />
      <xs:enumeration value="GE" />
      <xs:enumeration value="DE" />
      <xs:enumeration value="GH" />
      <xs:enumeration value="GI" />
      <xs:enumeration value="GR" />
      <xs:enumeration value="GL" />
      <xs:enumeration value="GD" />
      <xs:enumeration value="GP" />
      <xs:enumeration value="GU" />
      <xs:enumeration value="GT" />
      <xs:enumeration value="GG" />
      <xs:enumeration value="GN" />
      <xs:enumeration value="GW" />
      <xs:enumeration value="GY" />
      <xs:enumeration value="HT" />
      <xs:enumeration value="HM" />
      <xs:enumeration value="VA" />
      <xs:enumeration value="HN" />
      <xs:enumeration value="HK" />
      <xs:enumeration value="HU" />
      <xs:enumeration value="IS" />
      <xs:enumeration value="IN" />
      <xs:enumeration value="ID" />
      <xs:enumeration value="IR" />
      <xs:enumeration value="IQ" />
      <xs:enumeration value="IE" />
      <xs:enumeration value="IM" />
      <xs:enumeration value="IL" />
      <xs:enumeration value="IT" />
      <xs:enumeration value="JM" />
      <xs:enumeration value="JP" />
      <xs:enumeration value="JE" />
      <xs:enumeration value="JO" />
      <xs:enumeration value="KZ" />
      <xs:enumeration value="KE" />
      <xs:enumeration value="KI" />
      <xs:enumeration value="KP" />
      <xs:enumeration value="KR" />
      <xs:enumeration value="KW" />
      <xs:enumeration value="KG" />
      <xs:enumeration value="LA" />
      <xs:enumeration value="LV" />
      <xs:enumeration value="LB" />
      <xs:enumeration value="LS" />
      <xs:enumeration value="LR" />
      <xs:enumeration value="LY" />
      <xs:enumeration value="LI" />
      <xs:enumeration value="LT" />
      <xs:enumeration value="LU" />
      <xs:enumeration value="MO" />
      <xs:enumeration value="MK" />
      <xs:enumeration value="MG" />
      <xs:enumeration value="MW" />
      <xs:enumeration value="MY" />
      <xs:enumeration value="MV" />
      <xs:enumeration value="ML" />
      <xs:enumeration value="MT" />
      <xs:enumeration value="MH" />
      <xs:enumeration value="MQ" />
      <xs:enumeration value="MR" />
      <xs:enumeration value="MU" />
      <xs:enumeration value="YT" />
      <xs:enumeration value="MX" />
      <xs:enumeration value="FM" />
      <xs:enumeration value="MD" />
      <xs:enumeration value="MC" />
      <xs:enumeration value="MN" />
      <xs:enumeration value="ME" />
      <xs:enumeration value="MS" />
      <xs:enumeration value="MA" />
      <xs:enumeration value="MZ" />
      <xs:enumeration value="MM" />
      <xs:enumeration value="NA" />
      <xs:enumeration value="NR" />
      <xs:enumeration value="NP" />
      <xs:enumeration value="NL" />
      <xs:enumeration value="NC" />
      <xs:enumeration value="NZ" />
      <xs:enumeration value="NI" />
      <xs:enumeration value="NE" />
      <xs:enumeration value="NG" />
      <xs:enumeration value="NU" />
      <xs:enumeration value="NF" />
      <xs:enumeration value="MP" />
      <xs:enumeration value="NO" />
      <xs:enumeration value="OM" />
      <xs:enumeration value="PK" />
      <xs:enumeration value="PW" />
      <xs:enumeration value="PS" />
      <xs:enumeration value="PA" />
      <xs:enumeration value="PG" />
      <xs:enumeration value="PY" />
      <xs:enumeration value="PE" />
      <xs:enumeration value="PH" />
      <xs:enumeration value="PN" />
      <xs:enumeration value="PL" />
      <xs:enumeration value="PT" />
      <xs:enumeration value="PR" />
      <xs:enumeration value="QA" />
      <xs:enumeration value="RE" />
      <xs:enumeration value="RO" />
      <xs:enumeration value="RU" />
      <xs:enumeration value="RW" />
      <xs:enumeration value="BL" />
      <xs:enumeration value="SH" />
      <xs:enumeration value="KN" />
      <xs:enumeration value="LC" />
      <xs:enumeration value="MF" />
      <xs:enumeration value="PM" />
      <xs:enumeration value="VC" />
      <xs:enumeration value="WS" />
      <xs:enumeration value="SM" />
      <xs:enumeration value="ST" />
      <xs:enumeration value="SA" />
      <xs:enumeration value="SN" />
      <xs:enumeration value="RS" />
      <xs:enumeration value="SC" />
      <xs:enumeration value="SL" />
      <xs:enumeration value="SG" />
      <xs:enumeration value="SX" />
      <xs:enumeration value="SK" />
      <xs:enumeration value="SI" />
      <xs:enumeration value="SB" />
      <xs:enumeration value="SO" />
      <xs:enumeration value="ZA" />
      <xs:enumeration value="GS" />
      <xs:enumeration value="SS" />
      <xs:enumeration value="ES" />
      <xs:enumeration value="LK" />
      <xs:enumeration value="SD" />
      <xs:enumeration value="SR" />
      <xs:enumeration value="SJ" />
      <xs:enumeration value="SZ" />
      <xs:enumeration value="SE" />
      <xs:enumeration value="CH" />
      <xs:enumeration value="SY" />
      <xs:enumeration value="TW" />
      <xs:enumeration value="TJ" />
      <xs:enumeration value="TZ" />
      <xs:enumeration value="TH" />
      <xs:enumeration value="TL" />
      <xs:enumeration value="TG" />
      <xs:enumeration value="TK" />
      <xs:enumeration value="TO" />
      <xs:enumeration value="TT" />
      <xs:enumeration value="TN" />
      <xs:enumeration value="TR" />
      <xs:enumeration value="TM" />
      <xs:enumeration value="TC" />
      <xs:enumeration value="TV" />
      <xs:enumeration value="UG" />
      <xs:enumeration value="UA" />
      <xs:enumeration value="AE" />
      <xs:enumeration value="GB" />
      <xs:enumeration value="US" />
      <xs:enumeration value="UM" />
      <xs:enumeration value="UY" />
      <xs:enumeration value="UZ" />
      <xs:enumeration value="VU" />
      <xs:enumeration value="VE" />
      <xs:enumeration value="VN" />
      <xs:enumeration value="VG" />
      <xs:enumeration value="VI" />
      <xs:enumeration value="WF" />
      <xs:enumeration value="EH" />
      <xs:enumeration value="YE" />
      <xs:enumeration value="ZM" />
      <xs:enumeration value="ZW" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xTelephoneNumberTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Home" />
      <xs:enumeration value="Work" />
      <xs:enumeration value="Mobile" />
      <xs:enumeration value="Fax" />
      <xs:enumeration value="Text" />
      <xs:enumeration value="Other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xEmailTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Home" />
      <xs:enumeration value="Work" />
      <xs:enumeration value="Organizational" />
      <xs:enumeration value="Other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xSexType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Male" />
      <xs:enumeration value="Female" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xEmployerType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Government_1803" />
      <xs:enumeration value="Military_1804" />
      <xs:enumeration value="PrivateOrganization_1805" />
      <xs:enumeration value="Self-employed_1806" />
      <xs:enumeration value="MilitaryDepartmentOfDefense_1807" />
      <xs:enumeration value="AgriculturalFisherySeasonal_1808" />
      <xs:enumeration value="Other_9999" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xPersonRelationshipToLearnerType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Aunt" />
      <xs:enumeration value="Brother" />
      <xs:enumeration value="BrotherInlaw" />
      <xs:enumeration value="CourtAppointedGuardian" />
      <xs:enumeration value="Daughter" />
      <xs:enumeration value="DaughterInLaw" />
      <xs:enumeration value="Employer" />
      <xs:enumeration value="Father" />
      <xs:enumeration value="FathersSignificantOther" />
      <xs:enumeration value="FathersCivilPartner" />
      <xs:enumeration value="FatherInLaw" />
      <xs:enumeration value="Fiance" />
      <xs:enumeration value="Fiancee" />
      <xs:enumeration value="Friend" />
      <xs:enumeration value="Grandfather" />
      <xs:enumeration value="Grandmother" />
      <xs:enumeration value="Husband" />
      <xs:enumeration value="MothersSignificantOther" />
      <xs:enumeration value="Mother" />
      <xs:enumeration value="MothersCivilPartner" />
      <xs:enumeration value="Nephew" />
      <xs:enumeration value="Niece" />
      <xs:enumeration value="Other" />
      <xs:enumeration value="SignificantOther" />
      <xs:enumeration value="Sister" />
      <xs:enumeration value="Son" />
      <xs:enumeration value="Unknown" />
      <xs:enumeration value="Uncle" />
      <xs:enumeration value="Ward" />
      <xs:enumeration value="Wife" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xCourseCodeSystemType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Intermediate" />
      <xs:enumeration value="LEA" />
      <xs:enumeration value="NCES" />
      <xs:enumeration value="Other" />
      <xs:enumeration value="SCED" />
      <xs:enumeration value="School" />
      <xs:enumeration value="State" />
      <xs:enumeration value="University" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xGradeLevelType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="IT" />
      <xs:enumeration value="PR" />
      <xs:enumeration value="PK" />
      <xs:enumeration value="TK" />
      <xs:enumeration value="KG" />
      <xs:enumeration value="01" />
      <xs:enumeration value="02" />
      <xs:enumeration value="03" />
      <xs:enumeration value="04" />
      <xs:enumeration value="05" />
      <xs:enumeration value="06" />
      <xs:enumeration value="07" />
      <xs:enumeration value="08" />
      <xs:enumeration value="09" />
      <xs:enumeration value="10" />
      <xs:enumeration value="11" />
      <xs:enumeration value="12" />
      <xs:enumeration value="13" />
      <xs:enumeration value="PS" />
      <xs:enumeration value="UG" />
      <xs:enumeration value="Other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xAddressTypeForOrganizationType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Mailing" />
      <xs:enumeration value="Physical" />
      <xs:enumeration value="Shipping" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xDayOfWeekType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Sunday" />
      <xs:enumeration value="Monday" />
      <xs:enumeration value="Tuesday" />
      <xs:enumeration value="Wednesday" />
      <xs:enumeration value="Thursday" />
      <xs:enumeration value="Friday" />
      <xs:enumeration value="Saturday" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xExitOrWithdrawalType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1907" />
      <xs:enumeration value="1908" />
      <xs:enumeration value="1909" />
      <xs:enumeration value="1910" />
      <xs:enumeration value="1911" />
      <xs:enumeration value="1912" />
      <xs:enumeration value="1913" />
      <xs:enumeration value="1914" />
      <xs:enumeration value="1915" />
      <xs:enumeration value="1916" />
      <xs:enumeration value="1917" />
      <xs:enumeration value="1918" />
      <xs:enumeration value="1919" />
      <xs:enumeration value="1921" />
      <xs:enumeration value="1922" />
      <xs:enumeration value="1923" />
      <xs:enumeration value="1924" />
      <xs:enumeration value="1925" />
      <xs:enumeration value="1926" />
      <xs:enumeration value="1927" />
      <xs:enumeration value="1928" />
      <xs:enumeration value="1930" />
      <xs:enumeration value="1931" />
      <xs:enumeration value="3499" />
      <xs:enumeration value="3502" />
      <xs:enumeration value="3503" />
      <xs:enumeration value="3504" />
      <xs:enumeration value="3505" />
      <xs:enumeration value="3508" />
      <xs:enumeration value="3509" />
      <xs:enumeration value="9999" />
      <xs:enumeration value="73060" />
      <xs:enumeration value="73061" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xEducationStaffClassificationType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Administrative Support Staff" />
      <xs:enumeration value="Administrators" />
      <xs:enumeration value="All Other Support Staff" />
      <xs:enumeration value="Behavioral Specialists" />
      <xs:enumeration value="Early Learning Assistant Teachers" />
      <xs:enumeration value="Early Learning Teachers" />
      <xs:enumeration value="Elementary Teachers" />
      <xs:enumeration value="Family Service Workers" />
      <xs:enumeration value="Health Specialists" />
      <xs:enumeration value="Home Visitors" />
      <xs:enumeration value="Instructional Coordinators" />
      <xs:enumeration value="Kindergarten Teachers" />
      <xs:enumeration value="Librarians/Media Specialists" />
      <xs:enumeration value="Library/Media Support Staff" />
      <xs:enumeration value="Mental Health Specialists" />
      <xs:enumeration value="Nutrition Specialists" />
      <xs:enumeration value="Paraprofessionals" />
      <xs:enumeration value="Part C Early Interventionists" />
      <xs:enumeration value="Part C Service Coordinators" />
      <xs:enumeration value="School Counselors" />
      <xs:enumeration value="Secondary Teachers" />
      <xs:enumeration value="Social Workers" />
      <xs:enumeration value="Special Education Teachers" />
      <xs:enumeration value="Special Needs Specialists" />
      <xs:enumeration value="Student Support Services Staff" />
      <xs:enumeration value="Ungraded Teachers" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xRaceTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AmericanIndianOrAlaskaNative" />
      <xs:enumeration value="Asian" />
      <xs:enumeration value="BlackOrAfricanAmerican" />
      <xs:enumeration value="NativeHawaiianOrOtherPacificIslander" />
      <xs:enumeration value="White" />
      <xs:enumeration value="DemographicRaceTwoOrMoreRaces" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xResponsibleSchoolTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Accountability" />
      <xs:enumeration value="Attendance" />
      <xs:enumeration value="Funding" />
      <xs:enumeration value="Graduation" />
      <xs:enumeration value="IEP" />
      <xs:enumeration value="Transportation" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xMembershipTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Home" />
      <xs:enumeration value="Concurrent" />
      <xs:enumeration value="Summer" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xLanguageTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Correspondence" />
      <xs:enumeration value="Dominant" />
      <xs:enumeration value="Home" />
      <xs:enumeration value="Native" />
      <xs:enumeration value="OtherLanguageProficiency" />
      <xs:enumeration value="Other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="xDisabilityType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AUT" />
      <xs:enumeration value="DB" />
      <xs:enumeration value="DD" />
      <xs:enumeration value="EMN" />
      <xs:enumeration value="HI" />
      <xs:enumeration value="ID" />
      <xs:enumeration value="MD" />
      <xs:enumeration value="OI" />
      <xs:enumeration value="OHI" />
      <xs:enumeration value="SLD" />
      <xs:enumeration value="SLI" />
      <xs:enumeration value="TBI" />
      <xs:enumeration value="VI" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="LearningStandardItemOrganizationIdentificationSystemType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="School" />
      <xs:enumeration value="LEA" />
      <xs:enumeration value="NCES" />
      <xs:enumeration value="Other" />
      <xs:enumeration value="OtherFederal" />
      <xs:enumeration value="SEA" />
      <xs:enumeration value="ACT" />
      <xs:enumeration value="FEIN" />
      <xs:enumeration value="DUNS" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="LearningStandardItemCourseCodeSystemType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Intermediate" />
      <xs:enumeration value="LEA" />
      <xs:enumeration value="NCES" />
      <xs:enumeration value="Other" />
      <xs:enumeration value="SCED" />
      <xs:enumeration value="School" />
      <xs:enumeration value="State" />
      <xs:enumeration value="University" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="StudentPlacementOtherTypesOfTransportationType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S101" />
      <xs:enumeration value="S102" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="StudentPlacementTitleIServicesType">
    <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="S007" />
      <xs:enumeration value="S008" />
      <xs:enumeration value="S009" />
      <xs:enumeration value="S010" />
      <xs:enumeration value="S011" />
      <xs:enumeration value="S012" />
      <xs:enumeration value="S013" />
      <xs:enumeration value="S014" />
      <xs:enumeration value="S015" />
      <xs:enumeration value="S016" />
      <xs:enumeration value="S017" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="StudentPlacementOtherServicesType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S200" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TestAccommodationTestMaterialType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S101" />
      <xs:enumeration value="S102" />
      <xs:enumeration value="S103" />
      <xs:enumeration value="S104" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TestAccommodationTestAdministrationType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S105" />
      <xs:enumeration value="S106" />
      <xs:enumeration value="S107" />
      <xs:enumeration value="S108" />
      <xs:enumeration value="S109" />
      <xs:enumeration value="S110" />
      <xs:enumeration value="S111" />
      <xs:enumeration value="S112" />
      <xs:enumeration value="S113" />
      <xs:enumeration value="S114" />
      <xs:enumeration value="S115" />
      <xs:enumeration value="S116" />
      <xs:enumeration value="S117" />
      <xs:enumeration value="S118" />
      <xs:enumeration value="S119" />
      <xs:enumeration value="S120" />
      <xs:enumeration value="S121" />
      <xs:enumeration value="S122" />
      <xs:enumeration value="S123" />
      <xs:enumeration value="S124" />
      <xs:enumeration value="S125" />
      <xs:enumeration value="S126" />
      <xs:enumeration value="S127" />
      <xs:enumeration value="S128" />
      <xs:enumeration value="S129" />
      <xs:enumeration value="S130" />
      <xs:enumeration value="S131" />
      <xs:enumeration value="S132" />
      <xs:enumeration value="S133" />
      <xs:enumeration value="S134" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TestAccommodationStudentEquipmentAndTechnologyType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S135" />
      <xs:enumeration value="S136" />
      <xs:enumeration value="S137" />
      <xs:enumeration value="S138" />
      <xs:enumeration value="S139" />
      <xs:enumeration value="S140" />
      <xs:enumeration value="S141" />
      <xs:enumeration value="S142" />
      <xs:enumeration value="S143" />
      <xs:enumeration value="S144" />
      <xs:enumeration value="S145" />
      <xs:enumeration value="S146" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TestAccommodationTestResponseType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S147" />
      <xs:enumeration value="S148" />
      <xs:enumeration value="S149" />
      <xs:enumeration value="S150" />
      <xs:enumeration value="S151" />
      <xs:enumeration value="S152" />
      <xs:enumeration value="S153" />
      <xs:enumeration value="S154" />
      <xs:enumeration value="S155" />
      <xs:enumeration value="S156" />
      <xs:enumeration value="S157" />
      <xs:enumeration value="S158" />
      <xs:enumeration value="S159" />
      <xs:enumeration value="S160" />
      <xs:enumeration value="S161" />
      <xs:enumeration value="S162" />
      <xs:enumeration value="S163" />
      <xs:enumeration value="S164" />
      <xs:enumeration value="S165" />
      <xs:enumeration value="S166" />
      <xs:enumeration value="S167" />
      <xs:enumeration value="S168" />
      <xs:enumeration value="S169" />
      <xs:enumeration value="S170" />
      <xs:enumeration value="S171" />
      <xs:enumeration value="S172" />
      <xs:enumeration value="S173" />
      <xs:enumeration value="S174" />
      <xs:enumeration value="S175" />
      <xs:enumeration value="S176" />
      <xs:enumeration value="S177" />
      <xs:enumeration value="S178" />
      <xs:enumeration value="S179" />
      <xs:enumeration value="S180" />
      <xs:enumeration value="S181" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TestAccommodationSchedulingType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S182" />
      <xs:enumeration value="S183" />
      <xs:enumeration value="S184" />
      <xs:enumeration value="S185" />
      <xs:enumeration value="S186" />
      <xs:enumeration value="S187" />
      <xs:enumeration value="S188" />
      <xs:enumeration value="S189" />
      <xs:enumeration value="S190" />
      <xs:enumeration value="S191" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TestAccommodationSettingType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S192" />
      <xs:enumeration value="S193" />
      <xs:enumeration value="S194" />
      <xs:enumeration value="S195" />
      <xs:enumeration value="S196" />
      <xs:enumeration value="S197" />
      <xs:enumeration value="S198" />
      <xs:enumeration value="S199" />
      <xs:enumeration value="S200" />
      <xs:enumeration value="S201" />
      <xs:enumeration value="S202" />
      <xs:enumeration value="S203" />
      <xs:enumeration value="S204" />
      <xs:enumeration value="S205" />
    </xs:restriction>
  </xs:simpleType>

  <!--InstructionalLevelType-->

  <xs:complexType name="InstructionalLevelType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--GiftedTalentedType-->

  <xs:simpleType name="GiftedTalentedType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>


  <!--LearningObjectivesType-->

  <xs:complexType name="LearningObjectivesType">
    <xs:sequence>
      <xs:element name="LearningObjective" maxOccurs="unbounded" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--EmailType-->

  <xs:complexType name="EmailType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--InstructionalStrategiesType-->

  <xs:complexType name="InstructionalStrategiesType">
    <xs:sequence>
      <xs:element name="InstructionalStrategy" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--ObjectType-->

  <xs:complexType name="ObjectType">
    <xs:sequence xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:any processContents="lax" minOccurs="1" maxOccurs="unbounded" namespace="##any" />
    </xs:sequence>
  </xs:complexType>


  <!--PhoneNumberListType-->

  <xs:complexType name="PhoneNumberListType">
    <xs:sequence>
      <xs:element name="PhoneNumber" maxOccurs="unbounded">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="PhoneNumberType">
              <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>


  <!--FSCountType-->

  <xs:complexType name="FSCountType">
    <xs:sequence>
      <xs:choice minOccurs="0">
        <xs:element name="MealStatus" minOccurs="0" nillable="true" type="MealStatusType" />
        <xs:element name="EarnedStatus" minOccurs="0" nillable="true" type="EarnedStatusType" />
      </xs:choice>
      <xs:element name="MealType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Amount" minOccurs="0" nillable="true" type="FSAmountType" />
      <xs:element name="Tax" minOccurs="0" nillable="true" type="MonetaryAmountType" />
      <xs:element name="Value" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>


  <!--InterestLevelsType-->

  <xs:complexType name="InterestLevelsType">
    <xs:sequence>
      <xs:element name="InterestLevel" maxOccurs="unbounded" type="GradeLevelType" />
    </xs:sequence>
  </xs:complexType>


  <!--EmailListType-->

  <xs:complexType name="EmailListType">
    <xs:sequence>
      <xs:element name="Email" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="EmailType">
              <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:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--OtherNameType-->

  <xs:complexType name="OtherNameType">
    <xs:complexContent>
      <xs:extension base="BaseNameType">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--RightsElementType-->

  <xs:complexType name="RightsElementType">
    <xs:sequence>
      <xs:element name="Cost" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="FeesForUse" minOccurs="0" nillable="true" type="FeesForUseType" />
      <xs:element name="CopyrightStatement" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="TermsOfUse" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--EducationalLevelType-->

  <xs:complexType name="EducationalLevelType">
    <xs:simpleContent>
      <xs:extension base="xs:token">
        <xs:attribute name="Codeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--LanguageListType-->

  <xs:complexType name="LanguageListType">
    <xs:sequence>
      <xs:element name="Language" maxOccurs="unbounded" type="LanguageContainerType" />
    </xs:sequence>
  </xs:complexType>


  <!--ProgramStatusType-->

  <xs:complexType name="ProgramStatusType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--MigrantType-->

  <xs:simpleType name="MigrantType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>


  <!--MiddleNameType-->

  <xs:simpleType name="MiddleNameType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>


  <!--SubjectAreaListType-->

  <xs:complexType name="SubjectAreaListType">
    <xs:sequence>
      <xs:element name="SubjectArea" maxOccurs="unbounded" type="SubjectAreaType" />
    </xs:sequence>
  </xs:complexType>


  <!--MediaTypesType-->

  <xs:complexType name="MediaTypesType">
    <xs:sequence>
      <xs:element name="MediaType" maxOccurs="unbounded" type="xs:token" />
    </xs:sequence>
  </xs:complexType>


  <!--FSAmountType-->

  <xs:complexType name="FSAmountType">
    <xs:simpleContent>
      <xs:extension base="MonetaryAmountType">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
        <xs:attribute name="Credits" use="required" type="xs:decimal" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--OtherIdListType-->

  <xs:complexType name="OtherIdListType">
    <xs:sequence>
      <xs:element name="OtherId" maxOccurs="unbounded" type="OtherIdType" />
    </xs:sequence>
  </xs:complexType>


  <!--FundedProgramType-->

  <xs:complexType name="FundedProgramType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--ExceptionalityCategoryType-->

  <xs:complexType name="ExceptionalityCategoryType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
      <xs:element name="ExceptionalityPriority" type="xs:token" />
    </xs:sequence>
  </xs:complexType>


  <!--DemographicsType-->

  <xs:complexType name="DemographicsType">
    <xs:sequence>
      <xs:element name="RaceList" minOccurs="0" nillable="true" type="RaceListType" />
      <xs:element name="HispanicLatino" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Gender" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="BirthDate" minOccurs="0" nillable="true" type="BirthDateType" />
      <xs:element name="BirthDateVerification" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="PlaceOfBirth" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="CountyOfBirth" 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="CountriesOfCitizenshipType" />
      <xs:element name="CountriesOfResidency" minOccurs="0" nillable="true" type="CountriesOfResidencyType" />
      <xs:element name="CountryArrivalDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="CitizenshipStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <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="MaritalStatus" minOccurs="0" nillable="true" type="xs:token" />
    </xs:sequence>
  </xs:complexType>


  <!--CourseCreditsType-->

  <xs:complexType name="CourseCreditsType">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--GridLocationType-->

  <xs:complexType name="GridLocationType">
    <xs:sequence>
      <xs:element name="Latitude">
        <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">
        <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>


  <!--GradeLevelsType-->

  <xs:complexType name="GradeLevelsType">
    <xs:sequence>
      <xs:element name="GradeLevel" maxOccurs="unbounded" type="GradeLevelType" />
    </xs:sequence>
  </xs:complexType>


  <!--GenderType-->

  <xs:simpleType name="GenderType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="M" />
      <xs:enumeration value="F" />
      <xs:enumeration value="U" />
    </xs:restriction>
  </xs:simpleType>


  <!--RefIdType-->

  <xs:simpleType name="RefIdType">
    <xs:restriction base="GUIDType" />
  </xs:simpleType>


  <!--SoftwareRequirementType-->

  <xs:complexType name="SoftwareRequirementType">
    <xs:sequence>
      <xs:element name="SoftwareTitle" 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>


  <!--BloomsTaxonomyLevelsType-->

  <xs:complexType name="BloomsTaxonomyLevelsType">
    <xs:sequence>
      <xs:element name="BloomsTaxonomyLevel" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--FeeForUseType-->

  <xs:complexType name="FeeForUseType">
    <xs:sequence>
      <xs:element name="UseType" type="xs:string" />
      <xs:element name="MeteringType" type="xs:token" />
      <xs:element name="MeteringURL" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="PerUseCharge" minOccurs="0" nillable="true" type="MonetaryAmountType" />
    </xs:sequence>
  </xs:complexType>


  <!--MealStatusType-->

  <xs:complexType name="MealStatusType">
    <xs:sequence>
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="SchoolYear" minOccurs="0" nillable="true" type="SchoolYearType" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--ProgramTypeType-->

  <xs:complexType name="ProgramTypeType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--TechnicalRequirementsType-->

  <xs:complexType name="TechnicalRequirementsType">
    <xs:sequence>
      <xs:element name="TechnicalRequirement" maxOccurs="unbounded" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--BirthDateType-->

  <xs:simpleType name="BirthDateType">
    <xs:restriction base="xs:date" />
  </xs:simpleType>


  <!--SchoolURLType-->

  <xs:simpleType name="SchoolURLType">
    <xs:restriction base="xs:anyURI" />
  </xs:simpleType>


  <!--NeglectedDelinquentType-->

  <xs:simpleType name="NeglectedDelinquentType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>


  <!--ExitDateType-->

  <xs:simpleType name="ExitDateType">
    <xs:restriction base="xs:date" />
  </xs:simpleType>


  <!--SpanGapType-->

  <xs:complexType name="SpanGapType">
    <xs:sequence>
      <xs:element name="Type" type="xs:normalizedString" />
      <xs:element name="Code" type="xs:token" />
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Value" 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>


  <!--TextDataType-->

  <xs:complexType name="TextDataType">
    <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>


  <!--IDEAType-->

  <xs:simpleType name="IDEAType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>


  <!--HomeroomNumberType-->

  <xs:simpleType name="HomeroomNumberType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>


  <!--FirstNameType-->

  <xs:simpleType name="FirstNameType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>


  <!--NamesType-->

  <xs:complexType name="NamesType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" maxOccurs="unbounded" type="NameType" />
    </xs:sequence>
  </xs:complexType>


  <!--LastNameType-->

  <xs:simpleType name="LastNameType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>


  <!--EconomicDisadvantageType-->

  <xs:simpleType name="EconomicDisadvantageType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>


  <!--ObjectNameType-->

  <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>


  <!--CountriesOfCitizenshipType-->

  <xs:complexType name="CountriesOfCitizenshipType">
    <xs:sequence>
      <xs:element name="CountryOfCitizenship" maxOccurs="unbounded" type="CountryType" />
    </xs:sequence>
  </xs:complexType>


  <!--PhoneNumberType-->

  <xs:complexType name="PhoneNumberType">
    <xs:sequence>
      <xs:element name="Number" type="xs:normalizedString" />
      <xs:element name="Extension" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ListedStatus" minOccurs="0" nillable="true" type="xs:token" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--VersionWithWildcardsType-->

  <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>


  <!--AbstractContentElementType-->

  <xs:complexType name="AbstractContentElementType">
    <xs:sequence>
      <xs:choice>
        <xs:element name="XMLData" type="XMLDataType" />
        <xs:element name="TextData" type="TextDataType" />
        <xs:element name="BinaryData" type="TextDataType" />
        <xs:element name="Reference" type="ReferenceType" />
      </xs:choice>
    </xs:sequence>
  </xs:complexType>


  <!--CongressionalDistrictType-->

  <xs:simpleType name="CongressionalDistrictType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:unsignedInt" />
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:token" />
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>


  <!--RelationshipType-->

  <xs:complexType name="RelationshipType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--ImmigrantType-->

  <xs:simpleType name="ImmigrantType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>


  <!--ElectronicIdListType-->

  <xs:complexType name="ElectronicIdListType">
    <xs:sequence>
      <xs:element name="ElectronicId" maxOccurs="unbounded" type="ElectronicIdType" />
    </xs:sequence>
  </xs:complexType>


  <!--ModificationHistoryType-->

  <xs:complexType name="ModificationHistoryType">
    <xs:sequence>
      <xs:element name="Modified" minOccurs="0" maxOccurs="unbounded" type="ModifiedType" />
    </xs:sequence>
  </xs:complexType>


  <!--LearningStandardItemsType-->

  <xs:complexType name="LearningStandardItemsType">
    <xs:sequence>
      <xs:element name="LearningStandardItemRefId" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--AddressListType-->

  <xs:complexType name="AddressListType">
    <xs:sequence>
      <xs:element name="Address" maxOccurs="unbounded">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="OldAddressType">
              <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>


  <!--MealType-->

  <xs:simpleType name="MealType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="FirstMeal" />
      <xs:enumeration value="SecondMeal" />
      <xs:enumeration value="StaffMeal" />
      <xs:enumeration value="AdultMeal" />
      <xs:enumeration value="AlaCarte" />
    </xs:restriction>
  </xs:simpleType>


  <!--SIF_MetadataType-->

  <xs:complexType name="SIF_MetadataType">
    <xs:sequence>
      <xs:element name="TimeElements" minOccurs="0" nillable="true" type="TimeElementsType" />
      <xs:element name="LifeCycle" minOccurs="0" nillable="true" type="LifeCycleType" />
      <xs:element name="RightsElements" minOccurs="0" nillable="true" type="RightsElementsType" />
      <xs:element name="EducationFilter" minOccurs="0" nillable="true" type="EducationFilterType" />
    </xs:sequence>
  </xs:complexType>


  <!--ContactInfoType-->

  <xs:complexType name="ContactInfoType">
    <xs:sequence>
      <xs:element name="Name" 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="OldAddressType" />
      <xs:element name="AddressRefId" minOccurs="0" nillable="true" type="gRefIdPointerType" />
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType">
        <xs:key name="EmailListKey5">
          <xs:selector xpath="./Email" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey9">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--SchoolYearType-->

  <xs:simpleType name="SchoolYearType">
    <xs:restriction base="xs:gYear" />
  </xs:simpleType>


  <!--Section504Type-->

  <xs:simpleType name="Section504Type">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>


  <!--TermSpanType-->

  <xs:complexType name="TermSpanType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--StateProvinceIdType-->

  <xs:simpleType name="StateProvinceIdType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>


  <!--HomelessType-->

  <xs:simpleType name="HomelessType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>


  <!--StaffParametersType-->

  <xs:complexType name="StaffParametersType">
    <xs:sequence>
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="SIF_RefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SSN" minOccurs="0" nillable="true" type="SSNType" />
      <xs:element name="Names" minOccurs="0" nillable="true" type="NamesType" />
      <xs:element name="Addresses" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey9">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="DemographicsType" />
      <xs:element name="Contacts" minOccurs="0" nillable="true" type="ContactRelationshipsType" />
      <xs:element name="EffectiveDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="OtherIdList" minOccurs="0" nillable="true" type="OtherIdListType" />
      <xs:element name="TimeElement" minOccurs="0" nillable="true" type="TimeElementType" />
    </xs:sequence>
  </xs:complexType>


  <!--StateProvinceType-->

  <xs:complexType name="StateProvinceType">
    <xs:simpleContent>
      <xs:extension base="xs:token">
        <xs:attribute name="Codeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--OnTimeGraduationYearType-->

  <xs:simpleType name="OnTimeGraduationYearType">
    <xs:restriction base="xs:gYear" />
  </xs:simpleType>


  <!--CountryType-->

  <xs:complexType name="CountryType">
    <xs:simpleContent>
      <xs:extension base="xs:token">
        <xs:attribute name="Codeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--GraduationRequirementType-->

  <xs:simpleType name="GraduationRequirementType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
    </xs:restriction>
  </xs:simpleType>


  <!--ReferenceType-->

  <xs:complexType name="ReferenceType">
    <xs:sequence>
      <xs:element name="URL" 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>


  <!--MultipleIntelligencesType-->

  <xs:complexType name="MultipleIntelligencesType">
    <xs:sequence>
      <xs:element name="MultipleIntelligence" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--GradeLevelType-->

  <xs:complexType name="GradeLevelType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--ContactRelationshipsType-->

  <xs:complexType name="ContactRelationshipsType">
    <xs:sequence>
      <xs:element name="Contact" minOccurs="0" maxOccurs="unbounded" type="ContactRelationshipType" />
    </xs:sequence>
  </xs:complexType>


  <!--ContactRelationshipType-->

  <xs:complexType name="ContactRelationshipType">
    <xs:sequence>
      <xs:element name="Relationship" type="RelationshipType" />
      <xs:element name="Names" minOccurs="0" nillable="true" type="NamesType" />
      <xs:element name="OtherIdList" minOccurs="0" nillable="true" type="OtherIdListType" />
      <xs:element name="EducationalLevel" minOccurs="0" nillable="true" type="EducationalLevelType" />
    </xs:sequence>
  </xs:complexType>


  <!--ResidencyStatusType-->

  <xs:complexType name="ResidencyStatusType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--RaceListType-->

  <xs:complexType name="RaceListType">
    <xs:sequence>
      <xs:element name="Race" maxOccurs="unbounded" type="RaceCodeType" />
    </xs:sequence>
  </xs:complexType>


  <!--ModifiedType-->

  <xs:complexType name="ModifiedType">
    <xs:sequence>
      <xs:element name="By" type="xs:normalizedString" />
      <xs:element name="DateTime" type="xs:dateTime" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--NameOfRecordType-->

  <xs:complexType name="NameOfRecordType">
    <xs:complexContent>
      <xs:extension base="BaseNameType">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--SCEDCodeType-->

  <xs:complexType name="SCEDCodeType">
    <xs:sequence>
      <xs:element name="CourseDescription">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="CourseLevel">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="AvailableCredit">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" 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="SequenceNumber">
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="9" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="SequenceLimit">
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:minInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="9" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--OperationalStatusType-->

  <xs:complexType name="OperationalStatusType">
    <xs:simpleContent>
      <xs:extension base="xs:token">
        <xs:attribute name="Codeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--StudentParametersType-->

  <xs:complexType name="StudentParametersType">
    <xs:sequence>
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="SIF_RefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="GradeLevel" minOccurs="0" nillable="true" type="GradeLevelType" />
      <xs:element name="SSN" minOccurs="0" nillable="true" type="SSNType" />
      <xs:element name="Names" minOccurs="0" nillable="true" type="NamesType" />
      <xs:element name="Addresses" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey10">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="DemographicsType" />
      <xs:element name="Contacts" minOccurs="0" nillable="true" type="ContactRelationshipsType" />
      <xs:element name="EffectiveDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="GraduationDate" minOccurs="0" nillable="true" type="GraduationDateType" />
      <xs:element name="SchoolAttendedName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SchoolAttendedLocation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="OtherIdList" minOccurs="0" nillable="true" type="OtherIdListType" />
      <xs:element name="TimeElement" minOccurs="0" nillable="true" type="TimeElementType" />
    </xs:sequence>
  </xs:complexType>


  <!--IdentificationInfoType-->

  <xs:complexType name="IdentificationInfoType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Code" use="required" type="xs:token" />
        <xs:attribute name="CodeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--IdRefType-->

  <xs:simpleType name="IdRefType">
    <xs:restriction base="RefIdType" />
  </xs:simpleType>


  <!--CourseTitleType-->

  <xs:simpleType name="CourseTitleType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>


  <!--EducationFilterType-->

  <xs:complexType name="EducationFilterType">
    <xs:sequence>
      <xs:element name="MediaTypes" minOccurs="0" nillable="true" type="MediaTypesType" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="GradeLevelsType" />
      <xs:element name="SubjectAreas" minOccurs="0" nillable="true" type="SubjectAreasType" />
      <xs:element name="InterestLevels" minOccurs="0" nillable="true" type="InterestLevelsType" />
      <xs:element name="LearningStandardItems" minOccurs="0" nillable="true" type="LearningStandardItemsType" />
      <xs:element name="BloomsTaxonomyLevels" minOccurs="0" nillable="true" type="BloomsTaxonomyLevelsType" />
      <xs:element name="MultipleIntelligences" minOccurs="0" nillable="true" type="MultipleIntelligencesType" />
      <xs:element name="InstructionalStrategies" minOccurs="0" nillable="true" type="InstructionalStrategiesType" />
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Summary" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="LearningObjectives" minOccurs="0" nillable="true" type="LearningObjectivesType" />
      <xs:element name="ResourceTypes" minOccurs="0" nillable="true" type="ResourceTypesType" />
    </xs:sequence>
  </xs:complexType>


  <!--ELLType-->

  <xs:simpleType name="ELLType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>


  <!--OtherCodeListType-->

  <xs:complexType name="OtherCodeListType">
    <xs:sequence>
      <xs:element name="OtherCode" 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>


  <!--SIF_ExtendedElementsType-->

  <xs:complexType name="SIF_ExtendedElementsType">
    <xs:sequence>
      <xs:element name="SIF_ExtendedElement" minOccurs="0" maxOccurs="unbounded" type="SIF_ExtendedElementType" />
    </xs:sequence>
  </xs:complexType>


  <!--NameType-->

  <xs:complexType name="NameType">
    <xs:complexContent>
      <xs:extension base="BaseNameType">
        <xs:attribute name="Type" use="required" type="xs:token" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--OldAddressType-->

  <xs:complexType name="OldAddressType">
    <xs:sequence>
      <xs:element name="Street" type="StreetType" />
      <xs:element name="City" type="xs:normalizedString" />
      <xs:element name="County" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StateProvince" type="StateProvinceType" />
      <xs:element name="Country" type="CountryType" />
      <xs:element name="PostalCode" type="xs:normalizedString" />
      <xs:element name="GridLocation" minOccurs="0" nillable="true" type="GridLocationType" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--RightsElementsType-->

  <xs:complexType name="RightsElementsType">
    <xs:sequence>
      <xs:element name="RightsElement" minOccurs="0" maxOccurs="unbounded" type="RightsElementType" />
    </xs:sequence>
  </xs:complexType>


  <!--XMLDataType-->

  <xs:complexType name="XMLDataType">
    <xs:sequence>
      <xs:any processContents="lax" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
    </xs:sequence>
    <xs:attribute name="Description" use="optional" type="xs:token" />
  </xs:complexType>


  <!--LifeCycleType-->

  <xs:complexType name="LifeCycleType">
    <xs:sequence>
      <xs:element name="Created" minOccurs="0" nillable="true" type="CreatedType" />
      <xs:element name="ModificationHistory" minOccurs="0" nillable="true" type="ModificationHistoryType" />
      <xs:element name="TimeElements" minOccurs="0" nillable="true" type="TimeElementsType" />
    </xs:sequence>
  </xs:complexType>


  <!--CreatorType-->

  <xs:complexType name="CreatorType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="ID" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--DistrictCourseCodeType-->

  <xs:simpleType name="DistrictCourseCodeType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>


  <!--ReportDataObjectType-->

  <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>


  <!--OrganizationRelationshipType-->

  <xs:complexType name="OrganizationRelationshipType">
    <xs:sequence>
      <xs:element name="ResidencyStatus" type="ResidencyStatusType" />
      <xs:element name="ProvidingInstruction" type="xs:boolean" />
      <xs:element name="ProvidingServices" type="xs:boolean" />
      <xs:element name="FinanciallyResponsible" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>


  <!--GraduationDateType-->

  <xs:simpleType name="GraduationDateType">
    <xs:restriction base="PartialDateType" />
  </xs:simpleType>


  <!--PrimaryAssignmentType-->

  <xs:simpleType name="PrimaryAssignmentType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
    </xs:restriction>
  </xs:simpleType>


  <!--FeesForUseType-->

  <xs:complexType name="FeesForUseType">
    <xs:sequence>
      <xs:element name="FeeForUse" minOccurs="0" maxOccurs="unbounded" type="FeeForUseType" />
    </xs:sequence>
  </xs:complexType>


  <!--PartialDateType-->

  <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>


  <!--ElectronicIdType-->

  <xs:complexType name="ElectronicIdType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--CountriesOfResidencyType-->

  <xs:complexType name="CountriesOfResidencyType">
    <xs:sequence>
      <xs:element name="CountryOfResidency" maxOccurs="unbounded" type="CountryType" />
    </xs:sequence>
  </xs:complexType>


  <!--LanguageContainerType-->

  <xs:complexType name="LanguageContainerType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
      <xs:element name="LanguageType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Dialect" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--SIF_ExtendedElementType-->

  <xs:complexType name="SIF_ExtendedElementType">
    <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>


  <!--SchoolContactListType-->

  <xs:complexType name="SchoolContactListType">
    <xs:sequence>
      <xs:element name="SchoolContact" maxOccurs="unbounded" type="SchoolContactType" />
    </xs:sequence>
  </xs:complexType>


  <!--RaceCodeType-->

  <xs:complexType name="RaceCodeType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
      <xs:element name="Proportion" minOccurs="0" nillable="true" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>


  <!--CourseCodeType-->

  <xs:simpleType name="CourseCodeType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>


  <!--EarnedStatusType-->

  <xs:complexType name="EarnedStatusType">
    <xs:sequence>
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--OtherIdType-->

  <xs:complexType name="OtherIdType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--OtherNamesType-->

  <xs:complexType name="OtherNamesType">
    <xs:sequence>
      <xs:element name="Name" maxOccurs="unbounded">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="OtherNameType">
              <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>


  <!--Title1Type-->

  <xs:simpleType name="Title1Type">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>


  <!--ServiceNameType-->

  <xs:simpleType name="ServiceNameType">
    <xs:restriction base="xs:NCName" />
  </xs:simpleType>


  <!--CreatedType-->

  <xs:complexType name="CreatedType">
    <xs:sequence>
      <xs:element name="DateTime" type="xs:dateTime" />
      <xs:element name="Creators" minOccurs="0" nillable="true" type="CreatorsType" />
    </xs:sequence>
  </xs:complexType>


  <!--ExtendedParametersType-->

  <xs:complexType name="ExtendedParametersType">
    <xs:sequence>
      <xs:element name="ExtendedParameter" minOccurs="0" maxOccurs="unbounded" type="ExtendedParameterType" />
    </xs:sequence>
  </xs:complexType>


  <!--SubjectAreaType-->

  <xs:complexType name="SubjectAreaType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--MsgIdType-->

  <xs:simpleType name="MsgIdType">
    <xs:restriction base="GUIDType" />
  </xs:simpleType>


  <!--SoftwareRequirementListType-->

  <xs:complexType name="SoftwareRequirementListType">
    <xs:sequence>
      <xs:element name="SoftwareRequirement" minOccurs="0" maxOccurs="unbounded" type="SoftwareRequirementType" />
    </xs:sequence>
  </xs:complexType>


  <!--EnglishProficiencyType-->

  <xs:complexType name="EnglishProficiencyType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--SpanGapsType-->

  <xs:complexType name="SpanGapsType">
    <xs:sequence>
      <xs:element name="SpanGap" minOccurs="0" maxOccurs="unbounded" type="SpanGapType" />
    </xs:sequence>
  </xs:complexType>


  <!--TimeElementsType-->

  <xs:complexType name="TimeElementsType">
    <xs:sequence>
      <xs:element name="TimeElement" minOccurs="0" maxOccurs="unbounded" type="TimeElementType" />
    </xs:sequence>
  </xs:complexType>


  <!--TimeElementType-->

  <xs:complexType name="TimeElementType">
    <xs:sequence>
      <xs:element name="Type" type="xs:normalizedString" />
      <xs:element name="Code" type="xs:token" />
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Value" 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" type="SpanGapsType" />
      <xs:element name="IsCurrent" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>


  <!--BinaryDataType-->

  <xs:complexType name="BinaryDataType">
    <xs:simpleContent>
      <xs:extension base="xs:base64Binary">
        <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>


  <!--ProjectedGraduationYearType-->

  <xs:simpleType name="ProjectedGraduationYearType">
    <xs:restriction base="xs:gYear" />
  </xs:simpleType>


  <!--MeetingTimeType-->

  <xs:complexType name="MeetingTimeType">
    <xs:sequence>
      <xs:element name="TimetableDay" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TimetablePeriod" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--ExtendedContentType-->

  <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>


  <!--HispanicLatinoType-->

  <xs:simpleType name="HispanicLatinoType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
    </xs:restriction>
  </xs:simpleType>


  <!--BaseNameType-->

  <xs:complexType name="BaseNameType">
    <xs:sequence>
      <xs:element name="Prefix" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="LastName" type="LastNameType" />
      <xs:element name="FirstName" type="FirstNameType" />
      <xs:element name="MiddleName" minOccurs="0" nillable="true" type="MiddleNameType" />
      <xs:element name="Suffix" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PreferredName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SortName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="FullName" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--NCESIdType-->

  <xs:simpleType name="NCESIdType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>


  <!--ResourceTypesType-->

  <xs:complexType name="ResourceTypesType">
    <xs:sequence>
      <xs:element name="ResourceType" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--PublishInDirectoryType-->

  <xs:simpleType name="PublishInDirectoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
    </xs:restriction>
  </xs:simpleType>


  <!--URIOrBinaryType-->

  <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>


  <!--VocationalConcentratorType-->

  <xs:simpleType name="VocationalConcentratorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>


  <!--StreetType-->

  <xs:complexType name="StreetType">
    <xs:sequence>
      <xs:element name="Line1" 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>


  <!--SchoolNameType-->

  <xs:simpleType name="SchoolNameType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>


  <!--DefinedProtocolsType-->

  <xs:simpleType name="DefinedProtocolsType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="HTTPS" />
      <xs:enumeration value="HTTP" />
    </xs:restriction>
  </xs:simpleType>


  <!--LEANameType-->

  <xs:simpleType name="LEANameType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>


  <!--SSNType-->

  <xs:simpleType name="SSNType">
    <xs:restriction base="xs:token" />
  </xs:simpleType>


  <!--MonetaryAmountType-->

  <xs:complexType name="MonetaryAmountType">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attribute name="Currency" use="optional" type="xs:token" />
        <xs:attribute name="CurrencyCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--CreatorsType-->

  <xs:complexType name="CreatorsType">
    <xs:sequence>
      <xs:element name="Creator" maxOccurs="unbounded" type="CreatorType" />
    </xs:sequence>
  </xs:complexType>


  <!--SubjectAreasType-->

  <xs:complexType name="SubjectAreasType">
    <xs:sequence>
      <xs:element name="SubjectArea" maxOccurs="unbounded" type="SubjectAreaType" />
    </xs:sequence>
  </xs:complexType>


  <!--LocationType-->

  <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="IdRefType">
              <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:enumeration value="LocationInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Type" use="optional" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--IdentificationInfoListType-->

  <xs:complexType name="IdentificationInfoListType">
    <xs:sequence>
      <xs:element name="IdentificationInfo" maxOccurs="unbounded" type="IdentificationInfoType" />
    </xs:sequence>
  </xs:complexType>


  <!--PersonInfoType-->

  <xs:complexType name="PersonInfoType">
    <xs:sequence>
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="OtherIdList" minOccurs="0" nillable="true" type="OtherIdListType" />
      <xs:element name="Name" type="NameOfRecordType" />
      <xs:element name="OtherNames" minOccurs="0" nillable="true" type="OtherNamesType">
        <xs:key name="OtherNamesKey4">
          <xs:selector xpath="./Name" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="DemographicsType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey11">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey10">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType">
        <xs:key name="EmailListKey6">
          <xs:selector xpath="./Email" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--StateCourseCodeType-->

  <xs:simpleType name="StateCourseCodeType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>


  <!--ExceptionalityCategoryListType-->

  <xs:complexType name="ExceptionalityCategoryListType">
    <xs:sequence>
      <xs:element name="ExceptionalityCategory" maxOccurs="unbounded" type="ExceptionalityCategoryType" />
    </xs:sequence>
  </xs:complexType>


  <!--ReportPackageType-->

  <xs:complexType name="ReportPackageType">
    <xs:complexContent>
      <xs:extension base="AbstractContentPackageType" />
    </xs:complexContent>
  </xs:complexType>


  <!--AbstractContentPackageType-->

  <xs:complexType name="AbstractContentPackageType">
    <xs:sequence>
      <xs:choice>
        <xs:element name="XMLData" type="XMLDataType" />
        <xs:element name="TextData" type="TextDataType" />
        <xs:element name="BinaryData" type="BinaryDataType" />
        <xs:element name="Reference" type="ReferenceType" />
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>


  <!--VersionType-->

  <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>


  <!--SchoolContactType-->

  <xs:complexType name="SchoolContactType">
    <xs:sequence>
      <xs:element name="PublishInDirectory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ContactInfo" type="ContactInfoType" />
    </xs:sequence>
  </xs:complexType>


  <!--LocalIdType-->

  <xs:simpleType name="LocalIdType">
    <xs:restriction base="xs:normalizedString" />
  </xs:simpleType>


  <!--EntryDateType-->

  <xs:simpleType name="EntryDateType">
    <xs:restriction base="xs:date" />
  </xs:simpleType>


  <!--GUIDType-->

  <xs:simpleType name="GUIDType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:pattern value="[0-9A-Fa-f\-]{32,36}" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>


  <!--SelectedContentType-->

  <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>


  <!--ExtendedParameterType-->

  <xs:complexType name="ExtendedParameterType">
    <xs:sequence>
      <xs:element name="SIF_Name" type="xs:normalizedString" />
      <xs:element name="SIF_Value" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--RolesType-->

  <xs:complexType name="RolesType">
    <xs:sequence>
      <xs:element name="Role" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--LocationOfInstructionType-->

  <xs:complexType name="LocationOfInstructionType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--AttendanceInfoType-->

  <xs:complexType name="AttendanceInfoType">
    <xs:sequence>
      <xs:element name="CountsTowardAttendance">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="AttendanceValue">
        <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>


  <!--AlertMessageType-->

  <xs:complexType name="AlertMessageType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--VictimListType-->

  <xs:complexType name="VictimListType">
    <xs:sequence>
      <xs:element name="Victim" maxOccurs="unbounded" type="VictimType" />
    </xs:sequence>
  </xs:complexType>


  <!--IncidentLocationType-->

  <xs:complexType name="IncidentLocationType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--MedicalAlertMessageType-->

  <xs:complexType name="MedicalAlertMessageType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Severity" use="required" type="xs:token" />
        <xs:attribute name="SeverityCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--TimetablePeriodListType-->

  <xs:complexType name="TimetablePeriodListType">
    <xs:sequence>
      <xs:element name="TimetablePeriod" maxOccurs="unbounded" type="TimetablePeriodType" />
    </xs:sequence>
  </xs:complexType>


  <!--BellPeriodType-->

  <xs:complexType name="BellPeriodType">
    <xs:sequence>
      <xs:element name="TimetableDayIdentifier" type="xs:token" />
      <xs:element name="TimetablePeriodIdentifier" type="xs:normalizedString" />
      <xs:element name="StartTime" type="xs:time" />
      <xs:element name="EndTime" type="xs:time" />
      <xs:element name="RegularSchoolPeriod">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="InstructionalMinutes" type="xs:unsignedInt" />
      <xs:element name="UseInAttendanceCalculations">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--MedicalAlertMessagesType-->

  <xs:complexType name="MedicalAlertMessagesType">
    <xs:sequence>
      <xs:element name="MedicalAlertMessage" maxOccurs="unbounded" type="MedicalAlertMessageType" />
    </xs:sequence>
  </xs:complexType>


  <!--SEAContactType-->

  <xs:complexType name="SEAContactType">
    <xs:sequence>
      <xs:element name="PublishInDirectory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ContactInfo" type="ContactInfoType" />
    </xs:sequence>
  </xs:complexType>


  <!--IncidentActionListType-->

  <xs:complexType name="IncidentActionListType">
    <xs:sequence>
      <xs:element name="IncidentAction" maxOccurs="unbounded" type="IncidentActionType" />
    </xs:sequence>
  </xs:complexType>


  <!--PromotionInfoType-->

  <xs:complexType name="PromotionInfoType">
    <xs:sequence>
      <xs:element name="PromotionStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Promotion" minOccurs="0" nillable="true" type="PromotionType" />
      <xs:element name="Nonpromotion" minOccurs="0" nillable="true" type="NonpromotionType" />
    </xs:sequence>
  </xs:complexType>


  <!--CreditsAttemptedType-->

  <xs:complexType name="CreditsAttemptedType">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--MeetingTimeListType-->

  <xs:complexType name="MeetingTimeListType">
    <xs:sequence>
      <xs:element name="MeetingTime" maxOccurs="unbounded" type="MeetingTimeType" />
    </xs:sequence>
  </xs:complexType>


  <!--BellScheduleDayType-->

  <xs:complexType name="BellScheduleDayType">
    <xs:sequence>
      <xs:element name="BellScheduleRefId" type="IdRefType" />
      <xs:element name="TimetableDayIdentifier" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--OffenderListType-->

  <xs:complexType name="OffenderListType">
    <xs:sequence>
      <xs:element name="Offender" maxOccurs="unbounded" type="OffenderType" />
    </xs:sequence>
  </xs:complexType>


  <!--ScheduleInfoListType-->

  <xs:complexType name="ScheduleInfoListType">
    <xs:sequence>
      <xs:element name="ScheduleInfo" maxOccurs="unbounded" type="ScheduleInfoType" />
    </xs:sequence>
  </xs:complexType>


  <!--RelatedToListType-->

  <xs:complexType name="RelatedToListType">
    <xs:sequence>
      <xs:element name="RelatedTo" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--BellScheduleDayListType-->

  <xs:complexType name="BellScheduleDayListType">
    <xs:sequence>
      <xs:element name="BellScheduleDay" maxOccurs="unbounded" type="BellScheduleDayType" />
    </xs:sequence>
  </xs:complexType>


  <!--VictimType-->

  <xs:complexType name="VictimType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameType" />
      <xs:element name="SIF_RefId" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <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="EmployeePersonal" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Injury">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--IdentityProviderListType-->

  <xs:complexType name="IdentityProviderListType">
    <xs:sequence>
      <xs:element name="IdentityProvider" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--WeaponTypeListType-->

  <xs:complexType name="WeaponTypeListType">
    <xs:sequence>
      <xs:element name="WeaponType" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--StudentActivityTypeType-->

  <xs:complexType name="StudentActivityTypeType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--HomeEnrollmentType-->

  <xs:complexType name="HomeEnrollmentType">
    <xs:sequence>
      <xs:element name="StudentSchoolEnrollmentRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SchoolName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SchoolInfoRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="Status">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="GradeLevel" type="GradeLevelType" />
      <xs:element name="Homeroom" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="RoomInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="HomeroomNumber" minOccurs="0" nillable="true" type="HomeroomNumberType" />
      <xs:element name="FullYearEnrollment" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--RoomListType-->

  <xs:complexType name="RoomListType">
    <xs:sequence>
      <xs:element name="RoomInfoRefId" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--DisciplineActionListType-->

  <xs:complexType name="DisciplineActionListType">
    <xs:sequence>
      <xs:element name="Action" minOccurs="0" maxOccurs="unbounded" type="DisciplineActionType" />
    </xs:sequence>
  </xs:complexType>


  <!--MediumOfInstructionType-->

  <xs:complexType name="MediumOfInstructionType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--DisciplineActionType-->

  <xs:complexType name="DisciplineActionType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="Duration" type="xs:decimal" />
      <xs:element name="ZeroTolerance">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="FullYearExpulsion">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ShortenedExpulsion">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="PoliceNotification">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Arrest">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="AlternativeEducation">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--PromotionType-->

  <xs:complexType name="PromotionType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--CorrelationSectionType-->

  <xs:complexType name="CorrelationSectionType">
    <xs:simpleContent>
      <xs:extension base="IdRefType">
        <xs:attribute name="Primary" use="required" type="xs:token" />
        <xs:attribute name="PrimaryCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--FunctionListType-->

  <xs:complexType name="FunctionListType">
    <xs:sequence>
      <xs:element name="Function" maxOccurs="unbounded" type="xs:token" />
    </xs:sequence>
  </xs:complexType>


  <!--SEAContactListType-->

  <xs:complexType name="SEAContactListType">
    <xs:sequence>
      <xs:element name="SEAContact" maxOccurs="unbounded" type="SEAContactType" />
    </xs:sequence>
  </xs:complexType>


  <!--LEAContactListType-->

  <xs:complexType name="LEAContactListType">
    <xs:sequence>
      <xs:element name="LEAContact" maxOccurs="unbounded" type="LEAContactType" />
    </xs:sequence>
  </xs:complexType>


  <!--RecognitionListType-->

  <xs:complexType name="RecognitionListType">
    <xs:sequence>
      <xs:element name="Recognition" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Code" use="required" type="xs:token" />
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--OffenderType-->

  <xs:complexType name="OffenderType">
    <xs:sequence>
      <xs:element name="Name" type="NameType" />
      <xs:element name="SIF_RefId" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <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="EmployeePersonal" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Injury">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ManifestationDetermination" minOccurs="0" nillable="true" type="ManifestationDeterminationType" />
      <xs:element name="ActionList" minOccurs="0" nillable="true" type="DisciplineActionListType" />
      <xs:element name="WeaponTypeList" minOccurs="0" nillable="true" type="WeaponTypeListType" />
      <xs:element name="RelatedToList" minOccurs="0" nillable="true" type="RelatedToListType" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--SchoolCourseInfoOverrideType-->

  <xs:complexType name="SchoolCourseInfoOverrideType">
    <xs:sequence>
      <xs:element name="CourseCode" minOccurs="0" nillable="true" type="CourseCodeType" />
      <xs:element name="StateCourseCode" minOccurs="0" nillable="true" type="StateCourseCodeType" />
      <xs:element name="DistrictCourseCode" minOccurs="0" nillable="true" type="DistrictCourseCodeType" />
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="SubjectAreaType" />
      <xs:element name="CourseTitle" minOccurs="0" nillable="true" type="CourseTitleType" />
      <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="InstructionalLevelType" />
      <xs:element name="CourseCredits" minOccurs="0" nillable="true" type="CourseCreditsType" />
    </xs:sequence>
    <xs:attribute name="Override" use="required" type="xs:token" />
    <xs:attribute name="OverrideCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--IncidentReporterType-->

  <xs:complexType name="IncidentReporterType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameType" />
      <xs:element name="SIF_RefId" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <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="EmployeePersonal" />
                    <xs:enumeration value="StudentContact" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--ScheduleInfoOverrideType-->

  <xs:complexType name="ScheduleInfoOverrideType">
    <xs:sequence>
      <xs:element name="MeetingTimeList" minOccurs="0" nillable="true" type="MeetingTimeListType" />
    </xs:sequence>
    <xs:attribute name="Override" use="required" type="xs:token" />
    <xs:attribute name="OverrideCodeset" use="optional" type="xs:token" />
    <xs:attribute name="TermInfoRefId" use="required" type="RefIdType" />
  </xs:complexType>


  <!--IncidentTimeType-->

  <xs:complexType name="IncidentTimeType">
    <xs:simpleContent>
      <xs:extension base="xs:time">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--CorrelationTypeType-->

  <xs:complexType name="CorrelationTypeType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--ScheduleInfoOverrideListType-->

  <xs:complexType name="ScheduleInfoOverrideListType">
    <xs:sequence>
      <xs:element name="ScheduleInfoOverride" maxOccurs="unbounded" type="ScheduleInfoOverrideType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentMostRecentContainerType-->

  <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="GradeLevel" minOccurs="0" nillable="true" type="GradeLevelType" />
    </xs:sequence>
  </xs:complexType>


  <!--TimetableDayListType-->

  <xs:complexType name="TimetableDayListType">
    <xs:sequence>
      <xs:element name="TimetableDay" maxOccurs="unbounded" type="TimetableDayType" />
    </xs:sequence>
  </xs:complexType>


  <!--EDENInfoType-->

  <xs:complexType name="EDENInfoType">
    <xs:sequence>
      <xs:element name="FIPSStateCode" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:restriction base="xs:anyType">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:pattern value="[0-9]{2}|[A-Z]{2}" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                </xs:restriction>
              </xs:simpleType>
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:restriction>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="AgencyIdNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--TeachingAssignmentType-->

  <xs:complexType name="TeachingAssignmentType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--LanguageOfInstructionType-->

  <xs:complexType name="LanguageOfInstructionType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--PictureSourceType-->

  <xs:complexType name="PictureSourceType">
    <xs:simpleContent>
      <xs:extension base="URIOrBinaryType">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--CalendarDateInfoType-->

  <xs:complexType name="CalendarDateInfoType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--ManifestationDeterminationType-->

  <xs:complexType name="ManifestationDeterminationType">
    <xs:sequence>
      <xs:element name="MeetingHeld" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="MeetingDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DueToDisability" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="MeetingOutcome" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--IncidentActionType-->

  <xs:complexType name="IncidentActionType">
    <xs:sequence>
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="EndDate" type="xs:date" />
      <xs:element name="Duration" type="xs:decimal" />
      <xs:element name="ZeroTolerance">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="PoliceNotification">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Arrest">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--BellPeriodListType-->

  <xs:complexType name="BellPeriodListType">
    <xs:sequence>
      <xs:element name="BellPeriod" maxOccurs="unbounded" type="BellPeriodType" />
    </xs:sequence>
  </xs:complexType>


  <!--EducationAgencyTypeType-->

  <xs:complexType name="EducationAgencyTypeType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--TimetableDayType-->

  <xs:complexType name="TimetableDayType">
    <xs:sequence>
      <xs:element name="Identifier" type="xs:normalizedString" />
      <xs:element name="Name" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--EvaluationPartsType-->

  <xs:complexType name="EvaluationPartsType">
    <xs:sequence>
      <xs:element name="EvaluationPart" maxOccurs="unbounded" type="EvaluationPartType" />
    </xs:sequence>
  </xs:complexType>


  <!--NonpromotionType-->

  <xs:complexType name="NonpromotionType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--ScheduleInfoType-->

  <xs:complexType name="ScheduleInfoType">
    <xs:sequence>
      <xs:element name="TeacherList" minOccurs="0" nillable="true" type="StaffListType" />
      <xs:element name="SectionRoomList" minOccurs="0" nillable="true" type="RoomListType" />
      <xs:element name="MeetingTimeList" minOccurs="0" nillable="true" type="MeetingTimeListType" />
    </xs:sequence>
    <xs:attribute name="TermInfoRefId" use="required" type="IdRefType" />
  </xs:complexType>


  <!--IncidentCategoryContainerType-->

  <xs:complexType name="IncidentCategoryContainerType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
      <xs:element name="CodeComment" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--AlertMessagesType-->

  <xs:complexType name="AlertMessagesType">
    <xs:sequence>
      <xs:element name="AlertMessage" maxOccurs="unbounded" type="AlertMessageType" />
    </xs:sequence>
  </xs:complexType>


  <!--PrincipalInfoType-->

  <xs:complexType name="PrincipalInfoType">
    <xs:sequence>
      <xs:element name="ContactName" type="xs:normalizedString" />
      <xs:element name="ContactTitle" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--LEAContactType-->

  <xs:complexType name="LEAContactType">
    <xs:sequence>
      <xs:element name="PublishInDirectory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ContactInfo" type="ContactInfoType" />
    </xs:sequence>
  </xs:complexType>


  <!--EvaluationRecommendationType-->

  <xs:complexType name="EvaluationRecommendationType">
    <xs:sequence>
      <xs:element name="Code" type="xs:normalizedString" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--TimetablePeriodType-->

  <xs:complexType name="TimetablePeriodType">
    <xs:sequence>
      <xs:element name="Identifier" type="xs:normalizedString" />
      <xs:element name="Name" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--CorrelationSectionListType-->

  <xs:complexType name="CorrelationSectionListType">
    <xs:sequence>
      <xs:element name="CorrelationSection" maxOccurs="unbounded" type="CorrelationSectionType" />
    </xs:sequence>
  </xs:complexType>


  <!--StaffListType-->

  <xs:complexType name="StaffListType">
    <xs:sequence>
      <xs:element name="StaffPersonalRefId" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--ContactFlagsType-->

  <xs:complexType name="ContactFlagsType">
    <xs:sequence>
      <xs:element name="ParentLegalGuardian" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="PickupRights" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="LivesWith" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="AccessToRecords" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="EmergencyContact" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="HasCustody" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="DisciplinaryContact" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="PrimaryCareProvider" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Other" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--EvaluationPartType-->

  <xs:complexType name="EvaluationPartType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Score" type="xs:normalizedString" />
      <xs:element name="Scale" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--SchoolFocusListType-->

  <xs:complexType name="SchoolFocusListType">
    <xs:sequence>
      <xs:element name="SchoolFocus" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--FinancialIncomeStatementMonetaryAmountListType-->

  <xs:complexType name="FinancialIncomeStatementMonetaryAmountListType">
    <xs:sequence>
      <xs:element name="Amount" maxOccurs="unbounded" type="FinancialIncomeStatementMonetaryAmountType" />
    </xs:sequence>
  </xs:complexType>


  <!--CurriculumStructureRefIdListType-->

  <xs:complexType name="CurriculumStructureRefIdListType">
    <xs:sequence>
      <xs:element name="CurriculumStructureRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--PerformanceLevelListType-->

  <xs:complexType name="PerformanceLevelListType">
    <xs:sequence>
      <xs:element name="PerformanceLevel" minOccurs="0" maxOccurs="unbounded" type="PerformanceLevelType" />
    </xs:sequence>
  </xs:complexType>


  <!--LearningResourceComponentType-->

  <xs:complexType name="LearningResourceComponentType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Reference" type="xs:string" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Strategies" minOccurs="0" nillable="true" type="LearningResourceComponentStrategyListType" />
      <xs:element name="AssociatedObjects" minOccurs="0" nillable="true" type="AssociatedObjectListType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentSchoolEnrollmentSummaryListType-->

  <xs:complexType name="StudentSchoolEnrollmentSummaryListType">
    <xs:sequence>
      <xs:element name="StudentSchoolEnrollmentData" minOccurs="0" maxOccurs="unbounded" type="StudentSchoolEnrollmentSummaryType" />
    </xs:sequence>
  </xs:complexType>


  <!--CourseHistoryCourseType-->

  <xs:complexType name="CourseHistoryCourseType">
    <xs:sequence>
      <xs:element name="SchoolAttendedRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SchoolCourseInfoData" type="SchoolCourseInfoSummaryType" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="MarkingPeriods" type="CourseHistoryMarkingPeriodListType" />
      <xs:element name="SectionInfoData" minOccurs="0" nillable="true" type="CourseHistorySectionInfoDataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey136">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--AssessmentSubTestRefIdListType-->

  <xs:complexType name="AssessmentSubTestRefIdListType">
    <xs:sequence>
      <xs:element name="AssessmentSubTestRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--LearningStandardListType-->

  <xs:complexType name="LearningStandardListType">
    <xs:sequence>
      <xs:element name="Document" minOccurs="0" maxOccurs="unbounded" type="LearningStandardType" />
    </xs:sequence>
  </xs:complexType>


  <!--StatementCodeListType-->

  <xs:complexType name="StatementCodeListType">
    <xs:sequence>
      <xs:element name="StatementCode" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--LearningStandardType-->

  <xs:complexType name="LearningStandardType">
    <xs:sequence>
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StandardsSettingBody" minOccurs="0" nillable="true" type="StandardsSettingBodyType" />
      <xs:element name="StatementCodes" minOccurs="0" nillable="true" type="StatementCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--MarkingPeriodSummaryType-->

  <xs:complexType name="MarkingPeriodSummaryType">
    <xs:sequence>
      <xs:element name="TermInfoData" minOccurs="0" nillable="true" type="MarkingPeriodTermInfoDataType" />
      <xs:element name="GradeLevelWhenTaken" minOccurs="0" nillable="true" type="GradeLevelType" />
      <xs:element name="MarkData" minOccurs="0" nillable="true" type="MarkingPeriodMarkDataType" />
      <xs:element name="CourseCreditsAttempted" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey137">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--BusStaffListType-->

  <xs:complexType name="BusStaffListType">
    <xs:sequence>
      <xs:element name="BusStaff" minOccurs="0" maxOccurs="unbounded" type="BusStaffType" />
    </xs:sequence>
  </xs:complexType>


  <!--LearningStandardItemRefIdListType-->

  <xs:complexType name="LearningStandardItemRefIdListType">
    <xs:sequence>
      <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--AssessmentItemChoiceListType-->

  <xs:complexType name="AssessmentItemChoiceListType">
    <xs:sequence>
      <xs:element name="Choice" maxOccurs="unbounded" type="AssessmentItemChoiceType" />
    </xs:sequence>
  </xs:complexType>


  <!--DwellingArrangementType-->

  <xs:complexType name="DwellingArrangementType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--TargetObjectType-->

  <xs:complexType name="TargetObjectType">
    <xs:sequence>
      <xs:element name="SIF_RefId" type="IdRefType" />
      <xs:element name="AssociationStrength" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="AssociationType" minOccurs="0" nillable="true" type="xs:token" />
    </xs:sequence>
    <xs:attribute name="ObjectType" use="required" type="xs:token" />
    <xs:attribute name="ObjectTypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--ComponentObjectListType-->

  <xs:complexType name="ComponentObjectListType">
    <xs:sequence>
      <xs:element name="ComponentObject" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="CurriculumStructure" />
                    <xs:enumeration value="Lesson" />
                    <xs:enumeration value="Activity" />
                    <xs:enumeration value="Assessment" />
                    <xs:enumeration value="LearningResource" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--AcademicFocusType-->

  <xs:complexType name="AcademicFocusType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--CourseHistoryTermType-->

  <xs:complexType name="CourseHistoryTermType">
    <xs:sequence>
      <xs:element name="TermInfoData" type="CurrentCourseActivityTermInfoDataType" />
      <xs:element name="Courses" minOccurs="0" nillable="true" type="CourseHistoryCourseListType" />
    </xs:sequence>
  </xs:complexType>


  <!--FoodserviceCustomerType-->

  <xs:complexType name="FoodserviceCustomerType">
    <xs:sequence>
      <xs:choice minOccurs="0">
        <xs:element name="MealStatus" minOccurs="0" nillable="true" type="MealStatusType" />
        <xs:element name="EarnedStatus" minOccurs="0" nillable="true" type="EarnedStatusType" />
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="SIF_RefId" use="required" type="IdRefType" />
    <xs:attribute name="SIF_RefObject" use="required" type="xs:token" />
  </xs:complexType>


  <!--StudentSpecialEducationSummaryStudentPlacementType-->

  <xs:complexType name="StudentSpecialEducationSummaryStudentPlacementType">
    <xs:sequence>
      <xs:element name="Service" type="StudentPlacementServiceType" />
      <xs:element name="ServiceCategory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServiceFundingSources" minOccurs="0" nillable="true" type="StudentPlacementServiceFundingSourceListType" />
      <xs:element name="ServicingPublicAgency" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="LEAInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServicingSchool" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="SchoolInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SchoolWhereServiceDelivered" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="SchoolInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServiceProviderType" minOccurs="0" nillable="true" type="ServiceProviderTypeType" />
      <xs:element name="AgencyType" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="FrequencyTime" minOccurs="0" nillable="true" type="FrequencyTimeType" />
    </xs:sequence>
  </xs:complexType>


  <!--LearningResourceEvaluationType-->

  <xs:complexType name="LearningResourceEvaluationType">
    <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>


  <!--PurchasingItemListType-->

  <xs:complexType name="PurchasingItemListType">
    <xs:sequence>
      <xs:element name="PurchasingItem" maxOccurs="unbounded" type="PurchasingItemType" />
    </xs:sequence>
  </xs:complexType>


  <!--FoodserviceReimbursementAgencyType-->

  <xs:complexType name="FoodserviceReimbursementAgencyType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Rates" type="FoodserviceReimbursementAgencyRateListType" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--SimpleContactRelationshipType-->

  <xs:complexType name="SimpleContactRelationshipType">
    <xs:sequence>
      <xs:element name="Relationship" type="RelationshipType" />
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameType" />
      <xs:element name="OtherIdList" minOccurs="0" nillable="true" type="OtherIdListType" />
      <xs:element name="EducationalLevel" minOccurs="0" nillable="true" type="EducationalLevelType" />
    </xs:sequence>
  </xs:complexType>


  <!--BackgroundCheckListType-->

  <xs:complexType name="BackgroundCheckListType">
    <xs:sequence>
      <xs:element name="BackgroundCheck" minOccurs="0" maxOccurs="unbounded" type="BackgroundCheckType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentPlacementServiceFundingSourceListType-->

  <xs:complexType name="StudentPlacementServiceFundingSourceListType">
    <xs:sequence>
      <xs:element name="ServiceFundingSource" maxOccurs="unbounded" type="StudentPlacementServiceFundingSourceType" />
    </xs:sequence>
  </xs:complexType>


  <!--SpecialConditionActionListType-->

  <xs:complexType name="SpecialConditionActionListType">
    <xs:sequence>
      <xs:element name="SpecialCondition" maxOccurs="unbounded" type="ActionListSpecialConditionType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentGradeGradeType-->

  <xs:complexType name="StudentGradeGradeType">
    <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="OutOf" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Low" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="High" 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:sequence>
  </xs:complexType>


  <!--MarkingPeriodMarkDataType-->

  <xs:complexType name="MarkingPeriodMarkDataType">
    <xs:sequence>
      <xs:element name="Percentage" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Numeric" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="NumericAsDecimal" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Letter" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Narrative" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey138">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="MarkValueInfoDataRefId" use="required" type="IdRefType" />
  </xs:complexType>


  <!--ItemCharacteristicsChoiceListType-->

  <xs:complexType name="ItemCharacteristicsChoiceListType">
    <xs:sequence>
      <xs:element name="Choice" maxOccurs="unbounded" type="ItemCharacteristicsChoiceType" />
    </xs:sequence>
  </xs:complexType>


  <!--AssessmentDescriptorListType-->

  <xs:complexType name="AssessmentDescriptorListType">
    <xs:sequence>
      <xs:element name="AssessmentDescriptor" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--CourseHistoryTermListType-->

  <xs:complexType name="CourseHistoryTermListType">
    <xs:sequence>
      <xs:element name="Term" minOccurs="0" maxOccurs="unbounded" type="CourseHistoryTermType" />
    </xs:sequence>
  </xs:complexType>


  <!--AdditionalGraduationRequirementPerformanceHistoryListType-->

  <xs:complexType name="AdditionalGraduationRequirementPerformanceHistoryListType">
    <xs:sequence>
      <xs:element name="Requirement" maxOccurs="unbounded" type="AdditionalGraduationRequirementPerformanceHistoryType" />
    </xs:sequence>
  </xs:complexType>


  <!--ProgramFundingSourceListType-->

  <xs:complexType name="ProgramFundingSourceListType">
    <xs:sequence>
      <xs:element name="ProgramFundingSource" maxOccurs="unbounded" type="ProgramFundingSourceType" />
    </xs:sequence>
  </xs:complexType>


  <!--EmployeePersonalOtherIdType-->

  <xs:complexType name="EmployeePersonalOtherIdType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--FoodservicePurchaseQuantityListType-->

  <xs:complexType name="FoodservicePurchaseQuantityListType">
    <xs:sequence>
      <xs:element name="PurchaseQuantity" maxOccurs="unbounded" type="FoodservicePurchaseQuantityType" />
    </xs:sequence>
  </xs:complexType>


  <!--PartCTransitionMeetingNotHeldReasonType-->

  <xs:complexType name="PartCTransitionMeetingNotHeldReasonType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--BusPositionStudentType-->

  <xs:complexType name="BusPositionStudentType">
    <xs:sequence>
      <xs:element name="StudentPersonalRefId" type="IdRefType" />
      <xs:element name="Status">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--ReportInfoType-->

  <xs:complexType name="ReportInfoType">
    <xs:sequence>
      <xs:element name="CalculationDate" type="xs:date" />
      <xs:element name="SubmissionNumber" type="xs:positiveInteger" />
      <xs:element name="SubmissionReason">
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Initial" />
            <xs:enumeration value="Correction" />
            <xs:enumeration value="Revision" />
            <xs:enumeration value="Addition" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ReportSubmitterInfo" minOccurs="0" nillable="true" type="ReportSubmitterInfoType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="ReportManifestRefId" use="required" type="IdRefType" />
  </xs:complexType>


  <!--AuthorListType-->

  <xs:complexType name="AuthorListType">
    <xs:sequence>
      <xs:element name="Author" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--EnergyZoneTagListType-->

  <xs:complexType name="EnergyZoneTagListType">
    <xs:sequence>
      <xs:element name="Tag" minOccurs="0" maxOccurs="unbounded" type="EnergyZoneTagType" />
    </xs:sequence>
  </xs:complexType>


  <!--AlternateIdentificationCodeListType-->

  <xs:complexType name="AlternateIdentificationCodeListType">
    <xs:sequence>
      <xs:element name="AlternateIdentificationCode" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--EnergyUsageDataSourceType-->

  <xs:complexType name="EnergyUsageDataSourceType">
    <xs:sequence>
      <xs:element name="System" type="xs:string" />
      <xs:element name="StartTime" type="xs:dateTime" />
      <xs:element name="ReadingDataList" type="EnergyUsageDataSourceReadingDataListType" />
    </xs:sequence>
  </xs:complexType>


  <!--RelatedLearningStandardItemRefIdListType-->

  <xs:complexType name="RelatedLearningStandardItemRefIdListType">
    <xs:sequence>
      <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="RelatedLearningStandardItemRefIdType" />
    </xs:sequence>
  </xs:complexType>


  <!--BusInfoEquipmentListType-->

  <xs:complexType name="BusInfoEquipmentListType">
    <xs:sequence>
      <xs:element name="Equipment" maxOccurs="unbounded" type="BusInfoEquipmentType" />
    </xs:sequence>
  </xs:complexType>


  <!--ActivityRefIdListType-->

  <xs:complexType name="ActivityRefIdListType">
    <xs:sequence>
      <xs:element name="ActivityRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentPlacementServiceFundingSourceType-->

  <xs:complexType name="StudentPlacementServiceFundingSourceType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--AssessmentStudentSnapshotType-->

  <xs:complexType name="AssessmentStudentSnapshotType">
    <xs:sequence>
      <xs:element name="RaceList" minOccurs="0" nillable="true" type="RaceListType" />
      <xs:element name="HispanicLatino" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Gender" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="BirthDate" minOccurs="0" nillable="true" type="BirthDateType" />
      <xs:element name="Title1" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ELL" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--BusInfoEquipmentType-->

  <xs:complexType name="BusInfoEquipmentType">
    <xs:sequence>
      <xs:element name="BusEquipmentRefId" type="IdRefType" />
      <xs:element name="Count" type="xs:unsignedInt" />
    </xs:sequence>
  </xs:complexType>


  <!--OtherStudentRecordListType-->

  <xs:complexType name="OtherStudentRecordListType">
    <xs:sequence>
      <xs:element name="StudentRecordPackageRefId" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--HoldInfoType-->

  <xs:complexType name="HoldInfoType">
    <xs:sequence>
      <xs:element name="DatePlaced" type="xs:date" />
      <xs:element name="DateNeeded" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="MadeAvailable" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Expires" minOccurs="0" nillable="true" type="xs:date" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--StudentPersonalDataOtherIdListType-->

  <xs:complexType name="StudentPersonalDataOtherIdListType">
    <xs:sequence>
      <xs:element name="OtherId" maxOccurs="unbounded" type="StudentPersonalDataOtherIdType" />
    </xs:sequence>
  </xs:complexType>


  <!--LeastRestrictiveEnvironmentType-->

  <xs:complexType name="LeastRestrictiveEnvironmentType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentSchoolEnrollmentSummaryType-->

  <xs:complexType name="StudentSchoolEnrollmentSummaryType">
    <xs:sequence>
      <xs:element name="SchoolYear" minOccurs="0" nillable="true" type="SchoolYearType" />
      <xs:element name="EntryDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="ExitDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="EntryType" minOccurs="0" nillable="true" type="StudentEntryTypeType" />
      <xs:element name="GradeLevel" minOccurs="0" nillable="true" type="GradeLevelType" />
      <xs:element name="ExitStatus" minOccurs="0" nillable="true" type="StudentExitStatusType" />
      <xs:element name="ExitType" minOccurs="0" nillable="true" type="StudentExitTypeType" />
      <xs:element name="StudentLEARelationship" minOccurs="0" nillable="true" type="StudentLEARelationship2Type" />
      <xs:element name="StudentSchoolRelationship" minOccurs="0" nillable="true" type="StudentSchoolRelationshipType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey139">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="SchoolAttendedRefId" use="required" type="IdRefType" />
  </xs:complexType>


  <!--FoodserviceReimbursementAgencyRateListType-->

  <xs:complexType name="FoodserviceReimbursementAgencyRateListType">
    <xs:sequence>
      <xs:element name="Rate" maxOccurs="unbounded" type="FoodserviceReimbursementAgencyRateType" />
    </xs:sequence>
  </xs:complexType>


  <!--MealStatusListType-->

  <xs:complexType name="MealStatusListType">
    <xs:sequence>
      <xs:element name="MealStatus" maxOccurs="unbounded" type="MealStatusType" />
    </xs:sequence>
  </xs:complexType>


  <!--BackgroundCheckType-->

  <xs:complexType name="BackgroundCheckType">
    <xs:sequence>
      <xs:element name="Type">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Date" type="xs:date" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--MarkValuePercentageType-->

  <xs:complexType name="MarkValuePercentageType">
    <xs:sequence>
      <xs:element name="Minimum" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Maximum" minOccurs="0" nillable="true" type="xs:decimal" />
    </xs:sequence>
    <xs:attribute name="IsAccepted" use="required" type="xs:boolean" />
  </xs:complexType>


  <!--CourseHistorySectionInfoDataType-->

  <xs:complexType name="CourseHistorySectionInfoDataType">
    <xs:sequence>
      <xs:element name="MediumOfInstruction" minOccurs="0" nillable="true" type="CourseHistoryMediumOfInstructionType" />
    </xs:sequence>
  </xs:complexType>


  <!--PurchasingItemType-->

  <xs:complexType name="PurchasingItemType">
    <xs:sequence>
      <xs:element name="ItemNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ItemDescription" type="xs:string" />
      <xs:element name="Quantity" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="UnitCost" minOccurs="0" nillable="true" type="MonetaryAmountType" />
      <xs:element name="ExpenseAccounts" minOccurs="0" nillable="true" type="ExpenseAccountListType" />
    </xs:sequence>
  </xs:complexType>


  <!--PasswordListType-->

  <xs:complexType name="PasswordListType">
    <xs:sequence>
      <xs:element name="Password" maxOccurs="unbounded" type="PasswordType" />
    </xs:sequence>
  </xs:complexType>


  <!--Intervention2Type-->

  <xs:complexType name="Intervention2Type">
    <xs:sequence>
      <xs:element name="InterventionName" type="xs:normalizedString" />
      <xs:element name="InterventionDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="InterventionType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="InterventionDelivery" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--CurriculumStructuresRefIdListType-->

  <xs:complexType name="CurriculumStructuresRefIdListType">
    <xs:sequence>
      <xs:element name="CurriculumStructureRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentProgramAccommodationListType-->

  <xs:complexType name="StudentProgramAccommodationListType">
    <xs:sequence>
      <xs:element name="StudentProgramAccommodation" maxOccurs="unbounded" type="StudentProgramAccommodationType" />
    </xs:sequence>
  </xs:complexType>


  <!--ServiceProviderTypeType-->

  <xs:complexType name="ServiceProviderTypeType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--MediaTypeListType-->

  <xs:complexType name="MediaTypeListType">
    <xs:sequence>
      <xs:element name="MediaType" minOccurs="0" maxOccurs="unbounded" type="xs:token" />
    </xs:sequence>
  </xs:complexType>


  <!--DocumentSourceType-->

  <xs:complexType name="DocumentSourceType">
    <xs:simpleContent>
      <xs:extension base="URIOrBinaryType">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--AssessmentPerformanceHistoryType-->

  <xs:complexType name="AssessmentPerformanceHistoryType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="AdministrationDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="Form" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Level" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="StudentGradeLevelWhenAssessed" minOccurs="0" nillable="true" type="GradeLevelType" />
      <xs:element name="SubtestCategory" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TestScoreType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="TestScore" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey140">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--ItemCharacteristicsMeasurementListType-->

  <xs:complexType name="ItemCharacteristicsMeasurementListType">
    <xs:sequence>
      <xs:element name="Measurement" maxOccurs="unbounded" type="ItemCharacteristicsMeasurementType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentScoreSetScoreListType-->

  <xs:complexType name="StudentScoreSetScoreListType">
    <xs:sequence>
      <xs:element name="Score" minOccurs="0" maxOccurs="unbounded" type="StudentScoreSetScoreType" />
    </xs:sequence>
  </xs:complexType>


  <!--JobClassificationType-->

  <xs:complexType name="JobClassificationType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--LibraryTransactionType-->

  <xs:complexType name="LibraryTransactionType">
    <xs:sequence>
      <xs:element name="ItemInfo" minOccurs="0" nillable="true" type="LibraryItemInfoType" />
      <xs:element name="CheckoutInfo" minOccurs="0" nillable="true" type="CheckoutInfoType" />
      <xs:element name="FineInfoList" minOccurs="0" nillable="true" type="FineInfoListType" />
      <xs:element name="HoldInfoList" minOccurs="0" nillable="true" type="HoldInfoListType" />
    </xs:sequence>
  </xs:complexType>


  <!--ActivityTimeType-->

  <xs:complexType name="ActivityTimeType">
    <xs:sequence>
      <xs:element name="CreationDate" type="xs:date" />
      <xs:element name="Duration" minOccurs="0" nillable="true" type="DurationType" />
      <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>


  <!--EmployeeJobFunctionType-->

  <xs:complexType name="EmployeeJobFunctionType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--AssignmentTimeType-->

  <xs:complexType name="AssignmentTimeType">
    <xs:sequence>
      <xs:element name="CreationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Duration" minOccurs="0" nillable="true" type="DurationType" />
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="StartTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="DueDate" type="xs:date" />
      <xs:element name="DueTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="AdministrationDate" minOccurs="0" nillable="true" type="xs:date" />
    </xs:sequence>
  </xs:complexType>


  <!--MilkSaleQuantityListType-->

  <xs:complexType name="MilkSaleQuantityListType">
    <xs:sequence>
      <xs:element name="SaleQuantity" minOccurs="0" maxOccurs="unbounded" type="MilkSaleQuantityType" />
    </xs:sequence>
  </xs:complexType>


  <!--CourseHistoryMarkingPeriodListType-->

  <xs:complexType name="CourseHistoryMarkingPeriodListType">
    <xs:sequence>
      <xs:element name="MarkingPeriod" maxOccurs="unbounded" type="CourseHistoryMarkingPeriodType" />
    </xs:sequence>
  </xs:complexType>


  <!--CourseHistoryCourseListType-->

  <xs:complexType name="CourseHistoryCourseListType">
    <xs:sequence>
      <xs:element name="Course" minOccurs="0" maxOccurs="unbounded" type="CourseHistoryCourseType" />
    </xs:sequence>
  </xs:complexType>


  <!--TermMarkListsType-->

  <xs:complexType name="TermMarkListsType">
    <xs:sequence>
      <xs:element name="MarkInfoList" maxOccurs="unbounded" type="MarkInfoListType" />
    </xs:sequence>
  </xs:complexType>


  <!--TransferPointListType-->

  <xs:complexType name="TransferPointListType">
    <xs:sequence>
      <xs:element name="TransferPoint" minOccurs="0" maxOccurs="unbounded" type="TransferPointType" />
    </xs:sequence>
  </xs:complexType>


  <!--LearningResourceContactListType-->

  <xs:complexType name="LearningResourceContactListType">
    <xs:sequence>
      <xs:element name="Contact" minOccurs="0" maxOccurs="unbounded" type="LearningResourceContactType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentSchoolEnrollmentDataType-->

  <xs:complexType name="StudentSchoolEnrollmentDataType">
    <xs:sequence>
      <xs:element name="GradeLevel" type="GradeLevelType" />
      <xs:element name="Advisor" minOccurs="0" nillable="true" type="StaffPersonalDataSummaryType" />
      <xs:element name="Counselor" minOccurs="0" nillable="true" type="StaffPersonalDataSummaryType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey141">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="SchoolAttendedRefId" use="required" type="IdRefType" />
  </xs:complexType>


  <!--ValidMarkType-->

  <xs:complexType name="ValidMarkType">
    <xs:sequence>
      <xs:element name="Code" 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:attribute name="SIF_Action" use="optional">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="Delete" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>


  <!--DebitCreditMonetaryAmountType-->

  <xs:complexType name="DebitCreditMonetaryAmountType">
    <xs:simpleContent>
      <xs:extension base="MonetaryAmountType">
        <xs:attribute name="FinancialAccountAccountingPeriodLocationInfoRefId" use="required" type="IdRefType" />
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--EmployeeCreditEarnedType-->

  <xs:complexType name="EmployeeCreditEarnedType">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--LearningResourceComponentListType-->

  <xs:complexType name="LearningResourceComponentListType">
    <xs:sequence>
      <xs:element name="Component" maxOccurs="unbounded" type="LearningResourceComponentType" />
    </xs:sequence>
  </xs:complexType>


  <!--MarkValueLetterType-->

  <xs:complexType name="MarkValueLetterType">
    <xs:sequence>
      <xs:element name="ValidMark" minOccurs="0" maxOccurs="unbounded" type="ValidMarkType" />
    </xs:sequence>
    <xs:attribute name="IsAccepted" use="required" type="xs:boolean" />
  </xs:complexType>


  <!--SchoolAttendanceHistoryListType-->

  <xs:complexType name="SchoolAttendanceHistoryListType">
    <xs:sequence>
      <xs:element name="SchoolAttended" maxOccurs="unbounded" type="SchoolAttendanceHistoryType" />
    </xs:sequence>
  </xs:complexType>


  <!--ServiceSettingType-->

  <xs:complexType name="ServiceSettingType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--FSAmountListType-->

  <xs:complexType name="FSAmountListType">
    <xs:sequence>
      <xs:element name="Amount" maxOccurs="unbounded" type="FSAmountType" />
    </xs:sequence>
  </xs:complexType>


  <!--AcademicFocusListType-->

  <xs:complexType name="AcademicFocusListType">
    <xs:sequence>
      <xs:element name="AcademicFocus" minOccurs="0" maxOccurs="unbounded" type="AcademicFocusType" />
    </xs:sequence>
  </xs:complexType>


  <!--SchoolInfoMediumSummaryType-->

  <xs:complexType name="SchoolInfoMediumSummaryType">
    <xs:sequence>
      <xs:element name="LocalId" type="LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="NCESId" minOccurs="0" nillable="true" type="NCESIdType" />
      <xs:element name="SchoolName" type="SchoolNameType" />
      <xs:element name="SchoolURL" minOccurs="0" nillable="true" type="SchoolURLType" />
      <xs:element name="SchoolContactList" minOccurs="0" nillable="true" type="SchoolContactListType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey12">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey11">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--LibraryMessageType-->

  <xs:complexType name="LibraryMessageType">
    <xs:sequence>
      <xs:element name="Sent" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="Text" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="Priority" use="required" type="xs:token" />
    <xs:attribute name="PriorityCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--MarkValuePercentageCleanType-->

  <xs:complexType name="MarkValuePercentageCleanType">
    <xs:sequence>
      <xs:element name="Minimum" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Maximum" minOccurs="0" nillable="true" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>


  <!--CurrentCourseActivityTermInfoDataType-->

  <xs:complexType name="CurrentCourseActivityTermInfoDataType">
    <xs:sequence>
      <xs:element name="SchoolYear" minOccurs="0" nillable="true" type="SchoolYearType" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TermSpan" minOccurs="0" nillable="true" type="TermSpanType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey142">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="SchoolAttendedRefId" use="required" type="IdRefType" />
  </xs:complexType>


  <!--MarkInfoListType-->

  <xs:complexType name="MarkInfoListType">
    <xs:sequence>
      <xs:element name="MarkInfoRefId" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
    <xs:attribute name="TermInfoRefId" use="required" type="IdRefType" />
    <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:complexType>


  <!--StudentPersonalDataDemographicDataType-->

  <xs:complexType name="StudentPersonalDataDemographicDataType">
    <xs:sequence>
      <xs:element name="RaceList" minOccurs="0" nillable="true" type="RaceListType" />
      <xs:element name="Gender" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="BirthDate" minOccurs="0" nillable="true" type="BirthDateType" />
      <xs:element name="EnglishProficiency" minOccurs="0" nillable="true" type="EnglishProficiencyType" />
      <xs:element name="LanguageList" minOccurs="0" nillable="true" type="LanguageListType" />
      <xs:element name="HispanicLatino" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="CountryOfBirth" minOccurs="0" nillable="true" type="CountryType" />
      <xs:element name="DwellingArrangement" minOccurs="0" nillable="true" type="DwellingArrangementType" />
    </xs:sequence>
  </xs:complexType>


  <!--DurationType-->

  <xs:complexType name="DurationType">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attribute name="Units" use="required" type="xs:token" />
        <xs:attribute name="UnitsCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--MarkingSystemsType-->

  <xs:complexType name="MarkingSystemsType">
    <xs:sequence>
      <xs:element name="MarkValueInfoData" maxOccurs="unbounded" type="MarkValueInfo2Type" />
    </xs:sequence>
  </xs:complexType>


  <!--AnnualItemListType-->

  <xs:complexType name="AnnualItemListType">
    <xs:sequence>
      <xs:element name="AnnualItem" maxOccurs="unbounded" type="AnnualItemType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentScoreSetScoreType-->

  <xs:complexType name="StudentScoreSetScoreType">
    <xs:sequence>
      <xs:element name="ScoreValue" type="xs:normalizedString" />
      <xs:element name="DiagnosticStatement" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="NumberOfResponses" minOccurs="0" nillable="true" type="xs:unsignedInt" />
    </xs:sequence>
    <xs:attribute name="AssessmentSubTestRefId" use="required" type="IdRefType" />
  </xs:complexType>


  <!--ReportSubmitterInfoType-->

  <xs:complexType name="ReportSubmitterInfoType">
    <xs:sequence>
      <xs:element name="SIF_RefId" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="LEAInfo" />
                    <xs:enumeration value="SchoolInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SubmitterName" type="xs:normalizedString" />
      <xs:element name="SubmitterDepartment" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ContactInfo" minOccurs="0" nillable="true" type="ContactInfoType" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="OldAddressType" />
      <xs:element name="PhoneNumber" minOccurs="0" nillable="true" type="PhoneNumberType" />
      <xs:element name="SubmitterNotes" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--StaffPersonalDataSummary2Type-->

  <xs:complexType name="StaffPersonalDataSummary2Type">
    <xs:sequence>
      <xs:element name="Name" type="NameType" />
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey13">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey12">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey143">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--TargetListType-->

  <xs:complexType name="TargetListType">
    <xs:sequence>
      <xs:element name="Target" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--SchoolInfoMiniSummaryType-->

  <xs:complexType name="SchoolInfoMiniSummaryType">
    <xs:sequence>
      <xs:element name="LocalId" type="LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="NCESId" minOccurs="0" nillable="true" type="NCESIdType" />
      <xs:element name="SchoolName" type="SchoolNameType" />
    </xs:sequence>
  </xs:complexType>


  <!--ScoreRangeType-->

  <xs:complexType name="ScoreRangeType">
    <xs:sequence>
      <xs:element name="Minimum" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="Maximum" minOccurs="0" nillable="true" type="xs:token" />
    </xs:sequence>
    <xs:attribute name="ScoreMetric" use="required" type="xs:token" />
    <xs:attribute name="ScoreMetricCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--ResultListType-->

  <xs:complexType name="ResultListType">
    <xs:sequence>
      <xs:element name="Result" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--MarkValueNarrativeCleanType-->

  <xs:complexType name="MarkValueNarrativeCleanType">
    <xs:sequence>
      <xs:element name="MaximumSize" minOccurs="0" nillable="true" type="xs:unsignedInt" />
    </xs:sequence>
  </xs:complexType>


  <!--AcademicPerformanceHistoryType-->

  <xs:complexType name="AcademicPerformanceHistoryType">
    <xs:sequence>
      <xs:element name="TermPerformance" minOccurs="0" maxOccurs="unbounded" type="TermPerformanceType" />
    </xs:sequence>
  </xs:complexType>


  <!--AcademicPerformanceSummaryType-->

  <xs:complexType name="AcademicPerformanceSummaryType">
    <xs:sequence>
      <xs:element name="TotalCreditsAttempted" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="TotalCreditsEarned" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="CumulativeGPACreditsEarned" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="CumulativeGradePoints" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="CumulativeGPA" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="GPAType" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ClassRank" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="ClassTotalNumber" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="ClassRankingDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="ProjectedGraduationDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="GraduationDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="GraduationDiplomaType" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AcademicTrack" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="AcademicFoci" minOccurs="0" nillable="true" type="AcademicFocusListType" />
      <xs:element name="AcademicSubjects" minOccurs="0" nillable="true" type="AcademicSubjectListType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey144">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--StudentSectionMarkType-->

  <xs:complexType name="StudentSectionMarkType">
    <xs:sequence>
      <xs:element name="Percentage" 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="100" 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="Numeric" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Letter" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Narrative" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="MarkInfoRefId" use="required" type="IdRefType" />
  </xs:complexType>


  <!--ApprovalType-->

  <xs:complexType name="ApprovalType">
    <xs:sequence>
      <xs:element name="Organization" type="xs:normalizedString" />
      <xs:element name="Date" type="xs:date" />
    </xs:sequence>
  </xs:complexType>


  <!--MarkValueNarrativeType-->

  <xs:complexType name="MarkValueNarrativeType">
    <xs:sequence>
      <xs:element name="MaximumSize" minOccurs="0" nillable="true" type="xs:unsignedInt" />
    </xs:sequence>
    <xs:attribute name="IsAccepted" use="required" type="xs:boolean" />
  </xs:complexType>


  <!--ItemCharacteristicsDifferentialItemAnalysisType-->

  <xs:complexType name="ItemCharacteristicsDifferentialItemAnalysisType">
    <xs:sequence>
      <xs:element name="CMH" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="-1.00" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1.00" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="MH" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="-1.00" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1.00" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--MealPriceType-->

  <xs:complexType name="MealPriceType">
    <xs:sequence>
      <xs:element name="Value" type="MonetaryAmountType" />
      <xs:element name="MealStatus" type="MealStatusType" />
      <xs:element name="MealType">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="GradeLevels" type="GradeLevelsType" />
    </xs:sequence>
  </xs:complexType>


  <!--NeglectedOrDelinquentParticipationListType-->

  <xs:complexType name="NeglectedOrDelinquentParticipationListType">
    <xs:sequence>
      <xs:element name="NeglectedOrDelinquentParticipation" maxOccurs="unbounded" type="NeglectedOrDelinquentParticipationType" />
    </xs:sequence>
  </xs:complexType>


  <!--MarkValueNumberType-->

  <xs:complexType name="MarkValueNumberType">
    <xs:sequence>
      <xs:element name="Precision" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Scale" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Low" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="High" minOccurs="0" nillable="true" type="xs:decimal" />
    </xs:sequence>
    <xs:attribute name="IsAccepted" use="required" type="xs:boolean" />
  </xs:complexType>


  <!--CheckoutInfoType-->

  <xs:complexType name="CheckoutInfoType">
    <xs:sequence>
      <xs:element name="ReturnBy" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>


  <!--EnergyZoneTagType-->

  <xs:complexType name="EnergyZoneTagType">
    <xs:sequence>
      <xs:element name="Name" type="xs:string" />
      <xs:element name="Value" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentRecordsType-->

  <xs:complexType name="StudentRecordsType">
    <xs:sequence>
      <xs:element name="StudentDemographicRecordRefId" type="IdRefType" />
      <xs:element name="StudentAcademicRecordRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="StudentSpecialEducationRecordRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="OtherRecords" minOccurs="0" nillable="true" type="OtherStudentRecordListType" />
    </xs:sequence>
  </xs:complexType>


  <!--BudgetAccountListType-->

  <xs:complexType name="BudgetAccountListType">
    <xs:sequence>
      <xs:element name="BudgetAccount" maxOccurs="unbounded" type="BudgetAccountType" />
    </xs:sequence>
  </xs:complexType>


  <!--ExclusionRuleListType-->

  <xs:complexType name="ExclusionRuleListType">
    <xs:sequence>
      <xs:element name="ExclusionRule" minOccurs="0" maxOccurs="unbounded" type="ExclusionRuleType" />
    </xs:sequence>
  </xs:complexType>


  <!--MenuPlanQuantityListType-->

  <xs:complexType name="MenuPlanQuantityListType">
    <xs:sequence>
      <xs:element name="MenuPlanQuantity" minOccurs="0" maxOccurs="unbounded" type="MenuPlanQuantityType" />
    </xs:sequence>
  </xs:complexType>


  <!--AssociatedRoleRefIdType-->

  <xs:complexType name="AssociatedRoleRefIdType">
    <xs:simpleContent>
      <xs:extension base="IdRefType">
        <xs:attribute name="Zone_Id" use="optional" type="xs:token" />
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--BusPositionStudentListType-->

  <xs:complexType name="BusPositionStudentListType">
    <xs:sequence>
      <xs:element name="Student" minOccurs="0" maxOccurs="unbounded" type="BusPositionStudentType" />
    </xs:sequence>
  </xs:complexType>


  <!--InterventionProviderNameListType-->

  <xs:complexType name="InterventionProviderNameListType">
    <xs:sequence>
      <xs:element name="InterventionProviderName" maxOccurs="unbounded" type="InterventionProviderNameType" />
    </xs:sequence>
  </xs:complexType>


  <!--PrerequisiteListType-->

  <xs:complexType name="PrerequisiteListType">
    <xs:sequence>
      <xs:element name="Prerequisite" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentSchoolRelationshipResidencyStatusType-->

  <xs:complexType name="StudentSchoolRelationshipResidencyStatusType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--EmployeeCertificationListType-->

  <xs:complexType name="EmployeeCertificationListType">
    <xs:sequence>
      <xs:element name="Certification" maxOccurs="unbounded" type="EmployeeCertificationType" />
    </xs:sequence>
  </xs:complexType>


  <!--CutScoresType-->

  <xs:complexType name="CutScoresType">
    <xs:sequence>
      <xs:element name="LowerCut" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="UpperCut" minOccurs="0" nillable="true" type="xs:token" />
    </xs:sequence>
    <xs:attribute name="ScoreMetric" use="required" type="xs:token" />
    <xs:attribute name="ScoreMetricCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--SourceObjectType-->

  <xs:complexType name="SourceObjectType">
    <xs:simpleContent>
      <xs:extension base="IdRefType">
        <xs:attribute name="SIF_RefObject" use="required" type="xs:token" />
        <xs:attribute name="SIF_RefObjectCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--ReportFormatListType-->

  <xs:complexType name="ReportFormatListType">
    <xs:sequence>
      <xs:element name="ReportFormat" maxOccurs="unbounded" type="ReportFormatType" />
    </xs:sequence>
  </xs:complexType>


  <!--FrequencyTimeType-->

  <xs:complexType name="FrequencyTimeType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--MarkValueLetterCleanType-->

  <xs:complexType name="MarkValueLetterCleanType">
    <xs:sequence>
      <xs:element name="ValidMark" minOccurs="0" maxOccurs="unbounded" type="ValidMarkCleanType" />
    </xs:sequence>
  </xs:complexType>


  <!--EmployeeCredentialAssignmentType-->

  <xs:complexType name="EmployeeCredentialAssignmentType">
    <xs:sequence>
      <xs:element name="SchoolInfoRefId" type="IdRefType" />
      <xs:element name="GradeLevels" type="GradeLevelsType" />
      <xs:element name="JobFunction" minOccurs="0" nillable="true" type="EmployeeJobFunctionType" />
      <xs:element name="FTE" minOccurs="0" nillable="true" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>


  <!--LearningResourceEvaluationListType-->

  <xs:complexType name="LearningResourceEvaluationListType">
    <xs:sequence>
      <xs:element name="Evaluation" minOccurs="0" maxOccurs="unbounded" type="LearningResourceEvaluationType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentParticipationDataType-->

  <xs:complexType name="StudentParticipationDataType">
    <xs:sequence>
      <xs:element name="ProgramType" type="ProgramTypeType" />
      <xs:element name="LEAInfoData" minOccurs="0" nillable="true" type="LEAInfoSummaryCleanType" />
      <xs:element name="SchoolInfoData" type="SchoolInfoMediumSummaryType" />
      <xs:element name="ReferralDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="ProgramStatus" minOccurs="0" nillable="true" type="ProgramStatusType" />
      <xs:element name="EvaluationDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="ReevaluationDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="ExceptionalityCategories" minOccurs="0" nillable="true" type="ExceptionalityCategoryListType" />
      <xs:element name="ProgramPlanDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="ProgramPlanEffectiveDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="PlannedAssessmentParticipation" minOccurs="0" nillable="true" type="SourcedCodesetType" />
      <xs:element name="StudentSpecialEducationFTE" 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:sequence>
  </xs:complexType>


  <!--MarkingPeriodTermInfoDataType-->

  <xs:complexType name="MarkingPeriodTermInfoDataType">
    <xs:sequence>
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TermSpan" minOccurs="0" nillable="true" type="TermSpanType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey145">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--StudentContactsSummaryType-->

  <xs:complexType name="StudentContactsSummaryType">
    <xs:sequence>
      <xs:element name="ParentGuardian1" type="StudentContactSummaryType" />
      <xs:element name="ParentGuardian2" minOccurs="0" nillable="true" type="StudentContactSummaryType" />
    </xs:sequence>
  </xs:complexType>


  <!--EnergyUsageDataSourceReadingDataType-->

  <xs:complexType name="EnergyUsageDataSourceReadingDataType">
    <xs:sequence>
      <xs:element name="Measurement">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SensorId" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Interval" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="EnergyUnits">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ReadingName" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ReadingList" minOccurs="0" nillable="true" type="EnergyUsageDataReadingListType" />
    </xs:sequence>
  </xs:complexType>


  <!--CurriculumStructureCurriculumHierarchyLevelType-->

  <xs:complexType name="CurriculumStructureCurriculumHierarchyLevelType">
    <xs:sequence>
      <xs:element name="Number" type="xs:unsignedInt" />
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Description" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--JobFunctionType-->

  <xs:complexType name="JobFunctionType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--LearningResourceComponentStrategyListType-->

  <xs:complexType name="LearningResourceComponentStrategyListType">
    <xs:sequence>
      <xs:element name="Strategy" minOccurs="0" maxOccurs="unbounded" type="LearningResourceComponentStrategyType" />
    </xs:sequence>
  </xs:complexType>


  <!--CalculationRuleType-->

  <xs:complexType name="CalculationRuleType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--ExclusionRuleType-->

  <xs:complexType name="ExclusionRuleType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--ServiceFundingSourceListType-->

  <xs:complexType name="ServiceFundingSourceListType">
    <xs:sequence>
      <xs:element name="ProgramFundingSource" maxOccurs="unbounded" type="ProgramFundingSourceType" />
    </xs:sequence>
  </xs:complexType>


  <!--AcademicSubjectType-->

  <xs:complexType name="AcademicSubjectType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--EnergyZoneTypeType-->

  <xs:complexType name="EnergyZoneTypeType">
    <xs:sequence>
      <xs:element name="Facility" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--ProgramAvailabilityType-->

  <xs:complexType name="ProgramAvailabilityType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--FineInfoListType-->

  <xs:complexType name="FineInfoListType">
    <xs:sequence>
      <xs:element name="FineInfo" minOccurs="0" maxOccurs="unbounded" type="FineInfoType" />
    </xs:sequence>
  </xs:complexType>


  <!--FoodserviceSalesAmountListType-->

  <xs:complexType name="FoodserviceSalesAmountListType">
    <xs:sequence>
      <xs:element name="SalesAmount" maxOccurs="unbounded" type="FoodserviceSalesAmountType" />
    </xs:sequence>
  </xs:complexType>


  <!--FoodserviceReimbursementAgencyRateType-->

  <xs:complexType name="FoodserviceReimbursementAgencyRateType">
    <xs:sequence>
      <xs:element name="Value" type="xs:decimal" />
      <xs:element name="MealStatus" type="MealStatusType" />
    </xs:sequence>
    <xs:attribute name="SevereNeed" use="required" type="xs:token" />
    <xs:attribute name="SevereNeedCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--StudentProgramAccommodationAccommodationType-->

  <xs:complexType name="StudentProgramAccommodationAccommodationType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:simpleType>
          <xs:union>
            <xs:simpleType>
              <xs:restriction base="TestAccommodationTestMaterialType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="TestAccommodationTestAdministrationType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="TestAccommodationStudentEquipmentAndTechnologyType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="TestAccommodationTestResponseType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="TestAccommodationSchedulingType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="TestAccommodationSettingType" />
            </xs:simpleType>
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="9999" />
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
      <xs:element name="AccommodationCategory" minOccurs="0" nillable="true" type="AccommodationCategoryType" />
      <xs:element name="SpecialMaterials" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>


  <!--FinancialIncomeStatementMonetaryAmountType-->

  <xs:complexType name="FinancialIncomeStatementMonetaryAmountType">
    <xs:simpleContent>
      <xs:extension base="MonetaryAmountType">
        <xs:attribute name="FinancialAccountAccountingPeriodLocationInfoRefId" use="required" type="IdRefType" />
        <xs:attribute name="FinancialClassRefId" use="required" type="IdRefType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--LearningResourceContactType-->

  <xs:complexType name="LearningResourceContactType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameOfRecordType" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="OldAddressType" />
      <xs:element name="PhoneNumber" minOccurs="0" nillable="true" type="PhoneNumberType" />
      <xs:element name="Email" minOccurs="0" nillable="true" type="EmailType" />
    </xs:sequence>
  </xs:complexType>


  <!--CurriculumHierarchyListType-->

  <xs:complexType name="CurriculumHierarchyListType">
    <xs:sequence>
      <xs:element name="CurriculumHierarchy" minOccurs="0" maxOccurs="unbounded" type="CurriculumHierarchyType" />
    </xs:sequence>
  </xs:complexType>


  <!--LearningResourceComponentStrategyType-->

  <xs:simpleType name="LearningResourceComponentStrategyType">
    <xs:restriction base="xs:string" />
  </xs:simpleType>


  <!--RelatedLearningStandardItemRefIdType-->

  <xs:complexType name="RelatedLearningStandardItemRefIdType">
    <xs:simpleContent>
      <xs:extension base="IdRefType">
        <xs:attribute name="RelationshipType" use="required" type="xs:token" />
        <xs:attribute name="Codeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--MenuPlanQuantityType-->

  <xs:complexType name="MenuPlanQuantityType">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attribute name="FoodserviceItemPortionRefId" use="required" type="IdRefType" />
        <xs:attribute name="MenuCategory" use="required" type="xs:token" />
        <xs:attribute name="MenuCategoryCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--AuditInfoCreationUserType-->

  <xs:complexType name="AuditInfoCreationUserType">
    <xs:sequence>
      <xs:element name="UserId" type="xs:normalizedString" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--FSCountListType-->

  <xs:complexType name="FSCountListType">
    <xs:sequence>
      <xs:element name="Count" maxOccurs="unbounded" type="FSCountType" />
    </xs:sequence>
  </xs:complexType>


  <!--ResponseToInterventionMeasurementListType-->

  <xs:complexType name="ResponseToInterventionMeasurementListType">
    <xs:sequence>
      <xs:element name="Measurement" maxOccurs="unbounded" type="ResponseToInterventionMeasurementType" />
    </xs:sequence>
  </xs:complexType>


  <!--FoodserviceReimbursementAgencyListType-->

  <xs:complexType name="FoodserviceReimbursementAgencyListType">
    <xs:sequence>
      <xs:element name="Agency" maxOccurs="unbounded" type="FoodserviceReimbursementAgencyType" />
    </xs:sequence>
  </xs:complexType>


  <!--StatementListType-->

  <xs:complexType name="StatementListType">
    <xs:sequence>
      <xs:element name="Statement" maxOccurs="unbounded" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--EmployeeAssignmentProgramType-->

  <xs:complexType name="EmployeeAssignmentProgramType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--PartCTransitionMeetingNotHeldReasonListType-->

  <xs:complexType name="PartCTransitionMeetingNotHeldReasonListType">
    <xs:sequence>
      <xs:element name="PartCTransitionMeetingNotHeldReason" maxOccurs="unbounded" type="PartCTransitionMeetingNotHeldReasonType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentSpecialEducationSummaryStudentPlacementListType-->

  <xs:complexType name="StudentSpecialEducationSummaryStudentPlacementListType">
    <xs:sequence>
      <xs:element name="StudentPlacementData" maxOccurs="unbounded" type="StudentSpecialEducationSummaryStudentPlacementType" />
    </xs:sequence>
  </xs:complexType>


  <!--ContentObjectType-->

  <xs:complexType name="ContentObjectType">
    <xs:sequence>
      <xs:element name="SourceObject" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <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:element name="Location" minOccurs="0" nillable="true" type="LearningResourceLocationType" />
    </xs:sequence>
  </xs:complexType>


  <!--ResponseToInterventionMeasurementType-->

  <xs:complexType name="ResponseToInterventionMeasurementType">
    <xs:sequence>
      <xs:element name="MeasurementTool" type="xs:normalizedString" />
      <xs:element name="FrequencyofMeasure">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--EnergyUsageDataSourceReadingDataListType-->

  <xs:complexType name="EnergyUsageDataSourceReadingDataListType">
    <xs:sequence>
      <xs:element name="ReadingData" maxOccurs="unbounded" type="EnergyUsageDataSourceReadingDataType" />
    </xs:sequence>
  </xs:complexType>


  <!--CourseHistoryMarkingPeriodType-->

  <xs:complexType name="CourseHistoryMarkingPeriodType">
    <xs:sequence>
      <xs:element name="SchoolAttendedRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="TermInfoData" minOccurs="0" nillable="true" type="MarkingPeriodTermInfoDataType" />
      <xs:element name="GradeLevelWhenTaken" minOccurs="0" nillable="true" type="GradeLevelType" />
      <xs:element name="MarkData" minOccurs="0" nillable="true" type="MarkingPeriodMarkDataType" />
      <xs:element name="CourseCreditsAttempted" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="CourseCreditsEarned" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="CreditType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExcessiveAbsenceIndicator" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="DaysAbsent" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="DaysPresent" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey146">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--TitleListType-->

  <xs:complexType name="TitleListType">
    <xs:sequence>
      <xs:element name="Title" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--PerformanceLevelType-->

  <xs:complexType name="PerformanceLevelType">
    <xs:sequence>
      <xs:element name="CutScores" minOccurs="0" nillable="true" type="CutScoresType" />
    </xs:sequence>
    <xs:attribute name="LevelName" use="required" type="xs:normalizedString" />
  </xs:complexType>


  <!--EnergyUsageDataReadingType-->

  <xs:complexType name="EnergyUsageDataReadingType">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attribute name="IntervalIndex" use="required" type="xs:unsignedInt" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--ActivityAwardHistoryType-->

  <xs:complexType name="ActivityAwardHistoryType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="InvolvementCode" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="InvolvementBeginningDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="InvolvementEndingDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="InvolvementAmount" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="HonorsInformationCode" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="HonorsDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="DiplomaCredentialHonorsCode" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="DiplomaCredentialHonorsDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey147">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--ProgramFundingSourceType-->

  <xs:complexType name="ProgramFundingSourceType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--AnnualItemType-->

  <xs:complexType name="AnnualItemType">
    <xs:sequence>
      <xs:element name="AccountType">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="AccountTypeDetail" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="FundType">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="FundClassificationCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="ExpenditureArea" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Function" type="xs:normalizedString" />
      <xs:element name="Object" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="InstructionalProgram" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Amount" type="xs:decimal" />
      <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="OperationalUnit" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ProjectCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Source" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ChartOfAccountCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SubjectMatter" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="JobClassification" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SpecialAmountType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="GLAmountType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey148">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--FoodservicePurchaseQuantityType-->

  <xs:complexType name="FoodservicePurchaseQuantityType">
    <xs:sequence>
      <xs:element name="MealType">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Value" type="xs:decimal" />
    </xs:sequence>
    <xs:attribute name="FoodserviceItemPortionRefId" use="required" type="IdRefType" />
    <xs:attribute name="Earned" use="required" type="xs:token" />
    <xs:attribute name="EarnedCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--StudentPersonalRefIdListType-->

  <xs:complexType name="StudentPersonalRefIdListType">
    <xs:sequence>
      <xs:element name="StudentPersonalRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--FederalTaxIdType-->

  <xs:complexType name="FederalTaxIdType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Code" use="required" type="xs:token" />
        <xs:attribute name="CodeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--AdditionalGraduationRequirementPerformanceHistoryType-->

  <xs:complexType name="AdditionalGraduationRequirementPerformanceHistoryType">
    <xs:sequence>
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Method" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Status">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="StatusDeterminationDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey149">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--ActivityAwardHistoryListType-->

  <xs:complexType name="ActivityAwardHistoryListType">
    <xs:sequence>
      <xs:element name="ActivityAward" maxOccurs="unbounded" type="ActivityAwardHistoryType" />
    </xs:sequence>
  </xs:complexType>


  <!--CurrentCourseActivityCourseType-->

  <xs:complexType name="CurrentCourseActivityCourseType">
    <xs:sequence>
      <xs:element name="SchoolAttendedRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="SchoolCourseInfoData" type="SchoolCourseInfoSummaryType" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="MarkingPeriod" type="MarkingPeriodSummaryType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey150">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--StandardHierarchyLevelType-->

  <xs:complexType name="StandardHierarchyLevelType">
    <xs:sequence>
      <xs:element name="Number" type="xs:unsignedInt" />
      <xs:element name="Description" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--ActionListSpecialConditionType-->

  <xs:complexType name="ActionListSpecialConditionType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Code" use="required" type="xs:token" />
        <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:simpleContent>
  </xs:complexType>


  <!--EmployeePersonalOtherIdListType-->

  <xs:complexType name="EmployeePersonalOtherIdListType">
    <xs:sequence>
      <xs:element name="OtherId" minOccurs="0" maxOccurs="unbounded" type="EmployeePersonalOtherIdType" />
    </xs:sequence>
  </xs:complexType>


  <!--FoodservicePayMethodListType-->

  <xs:complexType name="FoodservicePayMethodListType">
    <xs:sequence>
      <xs:element name="TransactionPayMethod" maxOccurs="unbounded" type="FoodservicePayMethodType" />
    </xs:sequence>
  </xs:complexType>


  <!--SchoolInfoSummaryType-->

  <xs:complexType name="SchoolInfoSummaryType">
    <xs:sequence>
      <xs:element name="LocalId" type="LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="NCESId" minOccurs="0" nillable="true" type="NCESIdType" />
      <xs:element name="SchoolName" type="SchoolNameType" />
      <xs:element name="SchoolURL" minOccurs="0" nillable="true" type="SchoolURLType" />
      <xs:element name="SchoolContactList" minOccurs="0" nillable="true" type="SchoolContactListType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey14">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey13">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="IdentificationInfoList" minOccurs="0" nillable="true" type="IdentificationInfoListType" />
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="GradeLevelsType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey151">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--StudentSpecialEducationSummaryStudentParticipationListType-->

  <xs:complexType name="StudentSpecialEducationSummaryStudentParticipationListType">
    <xs:sequence>
      <xs:element name="StudentParticipationData" maxOccurs="unbounded" type="StudentSpecialEducationSummaryStudentParticipationType" />
    </xs:sequence>
  </xs:complexType>


  <!--CurrentCourseActivityCourseListType-->

  <xs:complexType name="CurrentCourseActivityCourseListType">
    <xs:sequence>
      <xs:element name="Course" maxOccurs="unbounded" type="CurrentCourseActivityCourseType" />
    </xs:sequence>
  </xs:complexType>


  <!--AssociatedObjectListType-->

  <xs:complexType name="AssociatedObjectListType">
    <xs:sequence>
      <xs:element name="AssociatedObject" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required" type="ObjectNameType" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--AttendanceCodeType-->

  <xs:complexType name="AttendanceCodeType">
    <xs:simpleContent>
      <xs:extension base="xs:token">
        <xs:attribute name="AttendanceCodeInfoRefId" use="required" type="IdRefType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--WhenServiceProvidedType-->

  <xs:complexType name="WhenServiceProvidedType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--ItemCharacteristicsChoiceType-->

  <xs:complexType name="ItemCharacteristicsChoiceType">
    <xs:sequence>
      <xs:element name="ChoiceLabel" type="xs:token" />
      <xs:element name="Responses" type="xs:integer" />
    </xs:sequence>
  </xs:complexType>


  <!--LessonSourceType-->

  <xs:complexType name="LessonSourceType">
    <xs:sequence>
      <xs:element name="Author" minOccurs="0" maxOccurs="unbounded" type="LessonSourceAuthorType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentSpecialConditionType-->

  <xs:complexType name="StudentSpecialConditionType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Code" use="required" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--InterventionListType-->

  <xs:complexType name="InterventionListType">
    <xs:sequence>
      <xs:element name="Intervention" maxOccurs="unbounded" type="Intervention2Type" />
    </xs:sequence>
  </xs:complexType>


  <!--NeglectedOrDelinquentParticipationType-->

  <xs:complexType name="NeglectedOrDelinquentParticipationType">
    <xs:sequence>
      <xs:element name="Type">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="TotalDayCount" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="ConsecutiveDayCount" minOccurs="0" nillable="true" type="xs:unsignedInt" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentExitTypeType-->

  <xs:complexType name="StudentExitTypeType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--SourceObjectListType-->

  <xs:complexType name="SourceObjectListType">
    <xs:sequence>
      <xs:element name="SourceObject" minOccurs="0" maxOccurs="unbounded" type="SourceObjectType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentContactSummaryType-->

  <xs:complexType name="StudentContactSummaryType">
    <xs:sequence>
      <xs:element name="Name" type="NameType" />
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey14">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey15">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--CurriculumHierarchyType-->

  <xs:complexType name="CurriculumHierarchyType">
    <xs:sequence>
      <xs:element name="Level" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ParentLevel" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--ValidMarkCleanType-->

  <xs:complexType name="ValidMarkCleanType">
    <xs:sequence>
      <xs:element name="Code" 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>


  <!--StudentSpecialEducationSummaryStudentParticipationType-->

  <xs:complexType name="StudentSpecialEducationSummaryStudentParticipationType">
    <xs:sequence>
      <xs:element name="ProgramType" type="ProgramTypeType" />
      <xs:element name="ProgramFundingSources" minOccurs="0" nillable="true" type="StudentPlacementProgramFundingSourceListType" />
      <xs:element name="ManagingPublicAgency" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="LEAInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ManagingSchool" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="SchoolInfo" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ReferralDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProgramStatus" minOccurs="0" nillable="true" type="ProgramStatusType" />
      <xs:element name="GiftedEligibilityCriteria" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="EvaluationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ReevaluationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ExceptionalityCategories" minOccurs="0" nillable="true" type="ExceptionalityCategoryListType" />
      <xs:element name="ProgramPlanDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ProgramPlanEffectiveDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="PlannedAssessmentParticipation" minOccurs="0" nillable="true" type="SourcedCodesetType" />
      <xs:element name="DaysInParticipation" minOccurs="0" nillable="true" type="xs:unsignedInt" />
    </xs:sequence>
  </xs:complexType>


  <!--ReferralSourceType-->

  <xs:complexType name="ReferralSourceType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--LearningObjectiveListType-->

  <xs:complexType name="LearningObjectiveListType">
    <xs:sequence>
      <xs:element name="LearningObjective" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentResponseSetItemType-->

  <xs:complexType name="StudentResponseSetItemType">
    <xs:sequence>
      <xs:element name="Response" type="xs:string" />
      <xs:element name="ResponseLocation" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="ResponseStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ResponseTime" minOccurs="0" nillable="true" type="xs:duration" />
      <xs:element name="ItemNumber" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="ItemName" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="DiagnosticStatement" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="NumberOfAttempts" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="ItemScore" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ItemAidSetUsed" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="AssessmentItemRefId" use="optional" type="IdRefType" />
  </xs:complexType>


  <!--StandardIdentifierType-->

  <xs:complexType name="StandardIdentifierType">
    <xs:sequence>
      <xs:element name="YearCreated" type="xs:gYear" />
      <xs:element name="SubjectArea" type="SubjectAreaType" />
      <xs:element name="StandardNumber" type="xs:normalizedString" />
      <xs:element name="GradeLevels" type="GradeLevelsType" />
      <xs:element name="Benchmark" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="GradeLevel" minOccurs="0" nillable="true" type="GradeLevelType" />
      <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" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--MealPriceListType-->

  <xs:complexType name="MealPriceListType">
    <xs:sequence>
      <xs:element name="Price" maxOccurs="unbounded" type="MealPriceType" />
    </xs:sequence>
  </xs:complexType>


  <!--OrganizationListType-->

  <xs:complexType name="OrganizationListType">
    <xs:sequence>
      <xs:element name="Organization" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--AssessmentPerformanceHistoryListType-->

  <xs:complexType name="AssessmentPerformanceHistoryListType">
    <xs:sequence>
      <xs:element name="Assessment" maxOccurs="unbounded" type="AssessmentPerformanceHistoryType" />
    </xs:sequence>
  </xs:complexType>


  <!--AccommodationCategoryType-->

  <xs:complexType name="AccommodationCategoryType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentLEARelationship2Type-->

  <xs:complexType name="StudentLEARelationship2Type">
    <xs:sequence>
      <xs:element name="MembershipType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="LEARelationshipType" type="OrganizationRelationshipType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey152">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--SchoolCourseInfoSummaryType-->

  <xs:complexType name="SchoolCourseInfoSummaryType">
    <xs:sequence>
      <xs:element name="CourseCode" minOccurs="0" nillable="true" type="CourseCodeType" />
      <xs:element name="StateCourseCode" minOccurs="0" nillable="true" type="StateCourseCodeType" />
      <xs:element name="DistrictCourseCode" minOccurs="0" nillable="true" type="DistrictCourseCodeType" />
      <xs:element name="NationalCourseCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="SubjectAreaListType" />
      <xs:element name="CourseTitle" minOccurs="0" nillable="true" type="CourseTitleType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="InstructionalLevelType" />
      <xs:element name="CoreAcademicCourse" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="GraduationRequirement" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Department" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey153">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--SchoolAttendanceHistoryType-->

  <xs:complexType name="SchoolAttendanceHistoryType">
    <xs:sequence>
      <xs:element name="LEAInfoData" minOccurs="0" nillable="true" type="LEAInfoSummaryType" />
      <xs:element name="SchoolInfoData" type="SchoolInfoSummaryType" />
      <xs:element name="AccreditingBody" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="MarkingSystems" minOccurs="0" nillable="true" type="MarkingSystemsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>


  <!--BaselineListType-->

  <xs:complexType name="BaselineListType">
    <xs:sequence>
      <xs:element name="Baseline" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--LibraryTransactionListType-->

  <xs:complexType name="LibraryTransactionListType">
    <xs:sequence>
      <xs:element name="Transaction" minOccurs="0" maxOccurs="unbounded" type="LibraryTransactionType" />
    </xs:sequence>
  </xs:complexType>


  <!--DebitCreditMonetaryAmountListType-->

  <xs:complexType name="DebitCreditMonetaryAmountListType">
    <xs:sequence>
      <xs:element name="Amount" maxOccurs="unbounded" type="DebitCreditMonetaryAmountType" />
    </xs:sequence>
  </xs:complexType>


  <!--PeriodType-->

  <xs:complexType name="PeriodType">
    <xs:sequence>
      <xs:element name="StartDate" type="xs:date" />
      <xs:element name="EndDate" type="xs:date" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentEntryTypeType-->

  <xs:complexType name="StudentEntryTypeType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--ActivityEvaluationType-->

  <xs:complexType name="ActivityEvaluationType">
    <xs:sequence>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="EvaluationType" use="required" type="xs:token" />
    <xs:attribute name="EvaluationTypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--MarkValueInfo2Type-->

  <xs:complexType name="MarkValueInfo2Type">
    <xs:sequence>
      <xs:element name="Name" type="xs:string" />
      <xs:element name="Percentage" minOccurs="0" nillable="true" type="MarkValuePercentageCleanType" />
      <xs:element name="Numeric" minOccurs="0" nillable="true" type="MarkValueNumberCleanType" />
      <xs:element name="Letter" minOccurs="0" nillable="true" type="MarkValueLetterCleanType" />
      <xs:element name="Narrative" minOccurs="0" nillable="true" type="MarkValueNarrativeCleanType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey154">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="RefIdType" />
  </xs:complexType>


  <!--SessionDurationType-->

  <xs:complexType name="SessionDurationType">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attribute name="UnitOfMeasure" use="required" type="xs:token" />
        <xs:attribute name="UnitOfMeasureCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--MilkSaleQuantityType-->

  <xs:complexType name="MilkSaleQuantityType">
    <xs:sequence>
      <xs:element name="Value" type="xs:decimal" />
      <xs:element name="MealStatus" type="MealStatusType" />
      <xs:element name="SaleUnit" type="xs:normalizedString" />
      <xs:element name="ChargeToChild" type="MonetaryAmountType" />
    </xs:sequence>
  </xs:complexType>


  <!--AggregateCharacteristicInfoRefIdListType-->

  <xs:complexType name="AggregateCharacteristicInfoRefIdListType">
    <xs:sequence>
      <xs:element name="AggregateCharacteristicInfoRefId" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentPersonalDataOtherIdType-->

  <xs:complexType name="StudentPersonalDataOtherIdType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--LibraryItemInfoType-->

  <xs:complexType name="LibraryItemInfoType">
    <xs:sequence>
      <xs:element name="Title" type="xs:string" />
      <xs:element name="Author" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ElectronicId" minOccurs="0" nillable="true" type="ElectronicIdType" />
      <xs:element name="CallNumber" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Price" minOccurs="0" nillable="true" type="MonetaryAmountType" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--TelemetryListType-->

  <xs:complexType name="TelemetryListType">
    <xs:sequence>
      <xs:element name="Telemetry" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--AuthenticationInfoType-->

  <xs:complexType name="AuthenticationInfoType">
    <xs:sequence>
      <xs:element name="System" type="AuthenticationInfoSystemType" />
      <xs:element name="Username" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:normalizedString">
            <xs:maxLength value="64" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="DistinguishedName" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:normalizedString">
            <xs:maxLength value="255" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="PasswordList" minOccurs="0" nillable="true" type="PasswordListType" />
    </xs:sequence>
  </xs:complexType>


  <!--BusStaffType-->

  <xs:complexType name="BusStaffType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameType" />
      <xs:element name="EmployeePersonalRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="Status">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--ReportFormatType-->

  <xs:complexType name="ReportFormatType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Type" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:token">
              <xs:enumeration value="URL" />
              <xs:enumeration value="Embedded" />
              <xs:enumeration value="Base64Binary" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="ContentType" use="required" type="xs:normalizedString" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--LEAInfoSummaryType-->

  <xs:complexType name="LEAInfoSummaryType">
    <xs:sequence>
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="NCESId" minOccurs="0" nillable="true" type="NCESIdType" />
      <xs:element name="LEAName" type="LEANameType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey155">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--ProgramPlanTypeType-->

  <xs:complexType name="ProgramPlanTypeType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentSchoolRelationshipType-->

  <xs:complexType name="StudentSchoolRelationshipType">
    <xs:sequence>
      <xs:element name="MembershipType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ResidencyStatus" minOccurs="0" nillable="true" type="StudentSchoolRelationshipResidencyStatusType" />
      <xs:element name="NonResidentAttendReason" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey156">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--LearningResourceRefIdListType-->

  <xs:complexType name="LearningResourceRefIdListType">
    <xs:sequence>
      <xs:element name="LearningResourceRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentExitStatusType-->

  <xs:complexType name="StudentExitStatusType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--HoldInfoListType-->

  <xs:complexType name="HoldInfoListType">
    <xs:sequence>
      <xs:element name="HoldInfo" minOccurs="0" maxOccurs="unbounded" type="HoldInfoType" />
    </xs:sequence>
  </xs:complexType>


  <!--ReportingPeriodType-->

  <xs:complexType name="ReportingPeriodType">
    <xs:sequence>
      <xs:element name="BeginReportDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndReportDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="BeginSubmitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndSubmitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DueDate" minOccurs="0" nillable="true" type="xs:date" />
    </xs:sequence>
  </xs:complexType>


  <!--OldFundingSourceType-->

  <xs:complexType name="OldFundingSourceType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--DestinationPointType-->

  <xs:complexType name="DestinationPointType">
    <xs:sequence>
      <xs:element name="ArrivalTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="RouteNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RouteDescription" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="VehicleNumber" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="BusStopDescription" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="BusRouteDetailRefId" use="required" type="IdRefType" />
  </xs:complexType>


  <!--FoodservicePayMethodType-->

  <xs:complexType name="FoodservicePayMethodType">
    <xs:sequence>
      <xs:element name="Amounts" type="FSAmountListType" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--ExpenseAccountType-->

  <xs:complexType name="ExpenseAccountType">
    <xs:sequence>
      <xs:element name="AccountCode" type="xs:token" />
      <xs:element name="Amount" type="MonetaryAmountType" />
    </xs:sequence>
  </xs:complexType>


  <!--FoodserviceItemQuantityType-->

  <xs:complexType name="FoodserviceItemQuantityType">
    <xs:sequence>
      <xs:element name="Value" type="xs:decimal" />
      <xs:element name="MealType">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="GradeLevels" type="GradeLevelsType" />
      <xs:element name="Cost" minOccurs="0" nillable="true" type="MonetaryAmountType" />
    </xs:sequence>
    <xs:attribute name="FoodserviceItemPortionRefId" use="required" type="IdRefType" />
  </xs:complexType>


  <!--LibraryMessageListType-->

  <xs:complexType name="LibraryMessageListType">
    <xs:sequence>
      <xs:element name="Message" minOccurs="0" maxOccurs="unbounded" type="LibraryMessageType" />
    </xs:sequence>
  </xs:complexType>


  <!--FoodserviceTransactionListType-->

  <xs:complexType name="FoodserviceTransactionListType">
    <xs:sequence>
      <xs:element name="TransactionType" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--StudentPlacementServiceType-->

  <xs:complexType name="StudentPlacementServiceType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--LearningStandardDocumentRefIdListType-->

  <xs:complexType name="LearningStandardDocumentRefIdListType">
    <xs:sequence>
      <xs:element name="LearningStandardDocumentRefId" minOccurs="0" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--AcademicSubjectListType-->

  <xs:complexType name="AcademicSubjectListType">
    <xs:sequence>
      <xs:element name="AcademicSubject" minOccurs="0" maxOccurs="unbounded" type="AcademicSubjectType" />
    </xs:sequence>
  </xs:complexType>


  <!--BudgetAccountType-->

  <xs:complexType name="BudgetAccountType">
    <xs:sequence>
      <xs:element name="AccountClass">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="FundBreakdown" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="FunctionBreakdown" type="xs:normalizedString" />
      <xs:element name="ObjectBreakdown" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="BudgetAmount" type="xs:unsignedInt" />
    </xs:sequence>
  </xs:complexType>


  <!--ProgramAvailabilityListType-->

  <xs:complexType name="ProgramAvailabilityListType">
    <xs:sequence>
      <xs:element name="ProgramAvailability" maxOccurs="unbounded" type="ProgramAvailabilityType" />
    </xs:sequence>
  </xs:complexType>


  <!--AggregateStatisticInfoLocationType-->

  <xs:complexType name="AggregateStatisticInfoLocationType">
    <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="IdRefType">
              <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="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--StudentResponseSetItemListType-->

  <xs:complexType name="StudentResponseSetItemListType">
    <xs:sequence>
      <xs:element name="Item" minOccurs="0" maxOccurs="unbounded" type="StudentResponseSetItemType" />
    </xs:sequence>
  </xs:complexType>


  <!--MinSecDurationType-->

  <xs:complexType name="MinSecDurationType">
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attribute name="UnitOfMeasure" use="required" type="xs:token" />
        <xs:attribute name="UnitOfMeasureCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--OriginPointType-->

  <xs:complexType name="OriginPointType">
    <xs:sequence>
      <xs:element name="ArrivalTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="RouteNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RouteDescription" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="VehicleNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="BusStopDescription" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="BusRouteDetailRefId" use="required" type="IdRefType" />
  </xs:complexType>


  <!--StudentSpecialConditionListType-->

  <xs:complexType name="StudentSpecialConditionListType">
    <xs:sequence>
      <xs:element name="StudentSpecialCondition" maxOccurs="unbounded" type="StudentSpecialConditionType" />
    </xs:sequence>
  </xs:complexType>


  <!--TargetObjectListType-->

  <xs:complexType name="TargetObjectListType">
    <xs:sequence>
      <xs:element name="TargetObject" maxOccurs="unbounded" type="TargetObjectType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentPlacementProgramFundingSourceListType-->

  <xs:complexType name="StudentPlacementProgramFundingSourceListType">
    <xs:sequence>
      <xs:element name="ProgramFundingSource" maxOccurs="unbounded" type="StudentPlacementServiceFundingSourceType" />
    </xs:sequence>
  </xs:complexType>


  <!--EssentialMaterialListType-->

  <xs:complexType name="EssentialMaterialListType">
    <xs:sequence>
      <xs:element name="EssentialMaterial" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--PasswordType-->

  <xs:complexType name="PasswordType">
    <xs:simpleContent>
      <xs:restriction base="xs:anyType">
        <xs:simpleType>
          <xs:restriction base="xs:base64Binary">
            <xs:maxLength value="255" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
        <xs:attribute name="Algorithm" use="required" type="xs:token" />
        <xs:attribute name="AlgorithmCodeset" use="optional" type="xs:token" />
        <xs:attribute name="KeyName" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:normalizedString">
              <xs:maxLength value="64" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>


  <!--EnergyUsageDataReadingListType-->

  <xs:complexType name="EnergyUsageDataReadingListType">
    <xs:sequence>
      <xs:element name="Reading" minOccurs="0" maxOccurs="unbounded" type="EnergyUsageDataReadingType" />
    </xs:sequence>
  </xs:complexType>


  <!--FoodserviceItemQuantityListType-->

  <xs:complexType name="FoodserviceItemQuantityListType">
    <xs:sequence>
      <xs:element name="ItemQuantity" maxOccurs="unbounded" type="FoodserviceItemQuantityType" />
    </xs:sequence>
  </xs:complexType>


  <!--EnergyUsageLocationInfoType-->

  <xs:complexType name="EnergyUsageLocationInfoType">
    <xs:sequence>
      <xs:element name="SchoolId" type="URIOrBinaryType" />
      <xs:element name="Building" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="EnergyZone" minOccurs="0" nillable="true" type="EnergyZoneType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentPersonalDataType-->

  <xs:complexType name="StudentPersonalDataType">
    <xs:sequence>
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="SSN" minOccurs="0" nillable="true" type="SSNType" />
      <xs:element name="OtherIdList" minOccurs="0" nillable="true" type="StudentPersonalDataOtherIdListType" />
      <xs:element name="Name" type="NameOfRecordType" />
      <xs:element name="OtherNames" minOccurs="0" nillable="true" type="OtherNamesType">
        <xs:key name="OtherNamesKey5">
          <xs:selector xpath="./Name" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="DemographicsData" minOccurs="0" nillable="true" type="StudentPersonalDataDemographicDataType" />
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:key name="AddressListKey16">
          <xs:selector xpath="./Address" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:key name="PhoneNumberListKey15">
          <xs:selector xpath="./PhoneNumber" />
          <xs:field xpath="@Type" />
        </xs:key>
      </xs:element>
      <xs:element name="IDEA" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Migrant" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Title1" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="GiftedTalented" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="EconomicDisadvantage" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="ELL" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Homeless" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Section504" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="VocationalConcentrator" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Immigrant" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="NeglectedDelinquent" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--StaffPersonalDataSummaryType-->

  <xs:complexType name="StaffPersonalDataSummaryType">
    <xs:sequence>
      <xs:element name="StaffPersonalData" type="StaffPersonalDataSummary2Type" />
    </xs:sequence>
  </xs:complexType>


  <!--InterventionProviderNameType-->

  <xs:complexType name="InterventionProviderNameType">
    <xs:sequence>
      <xs:element name="OtherProvider" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
    <xs:attribute name="StaffPersonalRefId" use="optional" type="IdRefType" />
  </xs:complexType>


  <!--PerformanceIndicatorListType-->

  <xs:complexType name="PerformanceIndicatorListType">
    <xs:sequence>
      <xs:element name="PerformanceIndicator" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--AssessmentFormNumberListType-->

  <xs:complexType name="AssessmentFormNumberListType">
    <xs:sequence>
      <xs:element name="FormNumber" maxOccurs="unbounded" type="xs:token" />
    </xs:sequence>
  </xs:complexType>


  <!--TypedCreator2Type-->

  <xs:complexType name="TypedCreator2Type">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="optional" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
        <xs:attribute name="SIF_RefId" use="optional" type="IdRefType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--DistanceType-->

  <xs:complexType name="DistanceType">
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attribute name="Unit" use="required" type="xs:token" />
        <xs:attribute name="UnitCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--StudentAttendanceAuditInfoType-->

  <xs:complexType name="StudentAttendanceAuditInfoType">
    <xs:sequence>
      <xs:element name="CreationUser" type="AuditInfoCreationUserType" />
      <xs:element name="CreationDateTime" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>


  <!--PartCTransitionMeetingOutcomeListType-->

  <xs:complexType name="PartCTransitionMeetingOutcomeListType">
    <xs:sequence>
      <xs:element name="PartCTransitionMeetingOutcome" maxOccurs="unbounded" type="PartCTransitionMeetingOutcomeType" />
    </xs:sequence>
  </xs:complexType>


  <!--TypedCreatorType-->

  <xs:complexType name="TypedCreatorType">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="Type" use="optional" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
        <xs:attribute name="SIF_RefId" use="optional" type="IdRefType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--StandardsSettingBodyType-->

  <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="NCESId" minOccurs="0" nillable="true" type="NCESIdType" />
      <xs:element name="SettingBodyName" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--EmployeeCertificationType-->

  <xs:complexType name="EmployeeCertificationType">
    <xs:sequence>
      <xs:element name="Description" type="xs:string" />
      <xs:element name="AreaAuthorized" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--LessonSourceAuthorType-->

  <xs:complexType name="LessonSourceAuthorType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" nillable="true" type="NameType" />
      <xs:element name="Organization" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="OldAddressType" />
      <xs:element name="Email" minOccurs="0" nillable="true" type="EmailType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentSectionMarkListType-->

  <xs:complexType name="StudentSectionMarkListType">
    <xs:sequence>
      <xs:element name="Mark" maxOccurs="unbounded" type="StudentSectionMarkType" />
    </xs:sequence>
  </xs:complexType>


  <!--ProgramExitReasonType-->

  <xs:complexType name="ProgramExitReasonType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--InterventionFrequencyTimeType-->

  <xs:complexType name="InterventionFrequencyTimeType">
    <xs:sequence>
      <xs:element name="Code" type="xs:token" />
      <xs:element name="Duration" type="MinSecDurationType" />
    </xs:sequence>
  </xs:complexType>


  <!--FoodserviceSalesAmountType-->

  <xs:complexType name="FoodserviceSalesAmountType">
    <xs:simpleContent>
      <xs:extension base="MonetaryAmountType">
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
        <xs:attribute name="AccountType" use="required" type="xs:token" />
        <xs:attribute name="AccountTypeCodeset" use="optional" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--LEAInfoSummaryCleanType-->

  <xs:complexType name="LEAInfoSummaryCleanType">
    <xs:sequence>
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="StateProvinceIdType" />
      <xs:element name="NCESId" minOccurs="0" nillable="true" type="NCESIdType" />
      <xs:element name="LEAName" type="LEANameType" />
    </xs:sequence>
  </xs:complexType>


  <!--TransferPointType-->

  <xs:complexType name="TransferPointType">
    <xs:sequence>
      <xs:element name="EmbarkBusRouteDetail">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="BusRouteDetail" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="DisembarkBusRouteDetail">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="IdRefType">
              <xs:attribute name="SIF_RefObject" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="BusRouteDetail" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--ApprovalListType-->

  <xs:complexType name="ApprovalListType">
    <xs:sequence>
      <xs:element name="Approval" minOccurs="0" maxOccurs="unbounded" type="ApprovalType" />
    </xs:sequence>
  </xs:complexType>


  <!--LessonStrategyListType-->

  <xs:complexType name="LessonStrategyListType">
    <xs:sequence>
      <xs:element name="Strategy" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--LessonSourceListType-->

  <xs:complexType name="LessonSourceListType">
    <xs:sequence>
      <xs:element name="LessonSource" minOccurs="0" maxOccurs="unbounded" type="LessonSourceType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentProgramAccommodationType-->

  <xs:complexType name="StudentProgramAccommodationType">
    <xs:sequence>
      <xs:element name="StudentParticipationRefId" minOccurs="0" nillable="true" type="IdRefType" />
      <xs:element name="StudentProgramType" type="StudentProgramTypeType" />
      <xs:element name="Accommodations" type="StudentProgramAccommodationAccommodationListType" />
    </xs:sequence>
  </xs:complexType>


  <!--TermPerformanceType-->

  <xs:complexType name="TermPerformanceType">
    <xs:sequence>
      <xs:element name="TermInfoData" minOccurs="0" nillable="true" type="AcademicPerfomanceHistoryTermInfoDataType" />
      <xs:element name="GradeLevelWhenTaken" minOccurs="0" nillable="true" type="GradeLevelType" />
      <xs:element name="CreditsAttempted" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="CreditsEarned" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="GPACreditsAttempted" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="GPACreditsEarned" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="GPAGradePoints" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="GPA" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="WeightedGPA" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="DaysAbsent" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="DaysPresent" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey157">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--AcademicPerfomanceHistoryTermInfoDataType-->

  <xs:complexType name="AcademicPerfomanceHistoryTermInfoDataType">
    <xs:sequence>
      <xs:element name="SchoolYear" minOccurs="0" nillable="true" type="SchoolYearType" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="PartialDateType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TermSpan" minOccurs="0" nillable="true" type="TermSpanType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="SIF_ExtendedElementsType">
        <xs:key name="SIF_ExtendedElementsKey158">
          <xs:selector xpath="./SIF_ExtendedElement" />
          <xs:field xpath="@Name" />
        </xs:key>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--PersonIdType-->

  <xs:complexType name="PersonIdType">
    <xs:simpleContent>
      <xs:extension base="StateProvinceIdType">
        <xs:attribute name="Label" use="optional" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--ItemCharacteristicsMeasurementType-->

  <xs:complexType name="ItemCharacteristicsMeasurementType">
    <xs:sequence>
      <xs:element name="MeasurementDescription" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ScaleValue" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="Min" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="Max" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="Optimal" minOccurs="0" nillable="true" type="xs:token" />
    </xs:sequence>
    <xs:attribute name="MeasurementCode" use="optional" type="xs:token" />
    <xs:attribute name="MeasurementCodeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--EmployeeCredentialAssignmentListType-->

  <xs:complexType name="EmployeeCredentialAssignmentListType">
    <xs:sequence>
      <xs:element name="Assignment" maxOccurs="unbounded" type="EmployeeCredentialAssignmentType" />
    </xs:sequence>
  </xs:complexType>


  <!--EnergyZoneType-->

  <xs:complexType name="EnergyZoneType">
    <xs:sequence>
      <xs:element name="Type" type="EnergyZoneTypeType" />
      <xs:element name="EnergyZoneName" type="xs:string" />
      <xs:element name="TagList" minOccurs="0" nillable="true" type="EnergyZoneTagListType" />
    </xs:sequence>
  </xs:complexType>


  <!--OtherLEAListType-->

  <xs:complexType name="OtherLEAListType">
    <xs:sequence>
      <xs:element name="LEAInfoRefId" maxOccurs="unbounded" type="IdRefType" />
    </xs:sequence>
  </xs:complexType>


  <!--ItemCharacteristicsDescriptiveType-->

  <xs:complexType name="ItemCharacteristicsDescriptiveType">
    <xs:sequence>
      <xs:element name="PValue" minOccurs="0" nillable="true" type="xs:float" />
      <xs:element name="SampleSize" minOccurs="0" nillable="true" type="xs:integer" />
      <xs:element name="PointBiserial" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="-1.00" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1.00" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Biserial" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="-1.00" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1.00" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="DiscriminationIndex" 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.00" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--CurrentCourseActivityType-->

  <xs:complexType name="CurrentCourseActivityType">
    <xs:sequence>
      <xs:element name="TermInfoData" type="CurrentCourseActivityTermInfoDataType" />
      <xs:element name="Courses" type="CurrentCourseActivityCourseListType" />
    </xs:sequence>
  </xs:complexType>


  <!--PayRateListType-->

  <xs:complexType name="PayRateListType">
    <xs:sequence>
      <xs:element name="PayRate" maxOccurs="unbounded" type="PayRateType" />
    </xs:sequence>
  </xs:complexType>


  <!--SourcedCodesetType-->

  <xs:complexType name="SourcedCodesetType">
    <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>


  <!--AssessmentItemChoiceType-->

  <xs:complexType name="AssessmentItemChoiceType">
    <xs:sequence>
      <xs:element name="ChoiceLabel" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ChoiceContent" type="AbstractContentElementType" />
      <xs:element name="CreditValue" minOccurs="0" nillable="true" type="xs:float" />
    </xs:sequence>
  </xs:complexType>


  <!--AuthenticationInfoSystemType-->

  <xs:complexType name="AuthenticationInfoSystemType">
    <xs:simpleContent>
      <xs:restriction base="xs:anyType">
        <xs:simpleType>
          <xs:restriction base="xs:normalizedString">
            <xs:maxLength value="255" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
        <xs:attribute name="Type" use="required" type="xs:token" />
        <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>


  <!--MarkValueNumberCleanType-->

  <xs:complexType name="MarkValueNumberCleanType">
    <xs:sequence>
      <xs:element name="Precision" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Scale" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Low" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="High" minOccurs="0" nillable="true" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>


  <!--CopyrightType-->

  <xs:complexType name="CopyrightType">
    <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>


  <!--StudentProgramAccommodationAccommodationListType-->

  <xs:complexType name="StudentProgramAccommodationAccommodationListType">
    <xs:sequence>
      <xs:element name="Accommodation" maxOccurs="unbounded" type="StudentProgramAccommodationAccommodationType" />
    </xs:sequence>
  </xs:complexType>


  <!--PartCTransitionMeetingOutcomeType-->

  <xs:complexType name="PartCTransitionMeetingOutcomeType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--BusRouteStatusType-->

  <xs:complexType name="BusRouteStatusType">
    <xs:sequence>
      <xs:element name="BusRouteInfoRefId" type="IdRefType" />
      <xs:element name="Status" type="xs:token" />
    </xs:sequence>
  </xs:complexType>


  <!--LearningResourceLocationType-->

  <xs:complexType name="LearningResourceLocationType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="ReferenceType" use="required" type="xs:token" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>


  <!--FineInfoType-->

  <xs:complexType name="FineInfoType">
    <xs:sequence>
      <xs:element name="Assessed" type="xs:dateTime" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Amount" type="MonetaryAmountType" />
      <xs:element name="Reference" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--StudentProgramTypeType-->

  <xs:complexType name="StudentProgramTypeType">
    <xs:sequence>
      <xs:element name="Code" type="xs:token" />
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--PayRateType-->

  <xs:complexType name="PayRateType">
    <xs:sequence>
      <xs:element name="Amount" type="MonetaryAmountType" />
      <xs:element name="Percentage" type="xs:decimal" />
    </xs:sequence>
    <xs:attribute name="Type" use="required" type="xs:token" />
    <xs:attribute name="TypeCodeset" use="optional" type="xs:token" />
  </xs:complexType>


  <!--CourseHistoryMediumOfInstructionType-->

  <xs:complexType name="CourseHistoryMediumOfInstructionType">
    <xs:sequence>
      <xs:element name="Code">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="OtherCodeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--ExpenseAccountListType-->

  <xs:complexType name="ExpenseAccountListType">
    <xs:sequence>
      <xs:element name="ExpenseAccount" maxOccurs="unbounded" type="ExpenseAccountType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanCommonAuthorizationType-->

  <xs:complexType name="iepPlanCommonAuthorizationType">
    <xs:sequence>
      <xs:element name="authorizingOfficialsList" minOccurs="0" nillable="true" type="authorizingOfficialsListType" />
      <xs:element name="parentGuardianAuthorization" minOccurs="0" nillable="true" type="iepPlanCommonAuthorizationParentGuardianAuthorizationType" />
      <xs:element name="transferOfRightsNotificationDate" minOccurs="0" nillable="true" type="xs:date" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveMeasurementType-->

  <xs:complexType name="iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveMeasurementType">
    <xs:sequence>
      <xs:element name="criterion" minOccurs="0" nillable="true" type="iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveMeasurementCriterionType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveType-->

  <xs:complexType name="iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveType">
    <xs:sequence>
      <xs:element name="identifier" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="facilitatorList" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveFacilitatorListType" />
      <xs:element name="measurement" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveMeasurementType" />
      <xs:element name="parentAcceptance" minOccurs="0" nillable="true" type="iepPlanAnnualGoalListParentAcceptanceType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEligibilityIdeaDisabilityDecisionsType-->

  <xs:complexType name="iepEligibilityIdeaDisabilityDecisionsType">
    <xs:sequence>
      <xs:element name="specificDisabilityIdentified" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="adverseEffectIdentified" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="eligible" minOccurs="0" nillable="true" type="iepEligibleType" />
      <xs:element name="identity" minOccurs="0" nillable="true" type="iepCommonAuthorizingPersonType" />
    </xs:sequence>
  </xs:complexType>


  <!--xEnrollmentType-->

  <xs:complexType name="xEnrollmentType">
    <xs:sequence>
      <xs:element name="leaRefId" type="gRefIdPointerType" />
      <xs:element name="schoolRefId" type="gRefIdPointerType" />
      <xs:element name="studentSchoolAssociationRefId" minOccurs="0" nillable="true" type="gRefIdPointerType" />
      <xs:element name="responsibleSchoolType" minOccurs="0" nillable="true" type="xResponsibleSchoolTypeType" />
      <xs:element name="membershipType" minOccurs="0" nillable="true" type="xMembershipTypeType" />
      <xs:element name="entryDate" type="xs:date" />
      <xs:element name="exitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="exitOrWithdrawalType" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="homeRoomNumber" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="homeRoomTeacher" minOccurs="0" nillable="true" type="xPersonReferenceType" />
      <xs:element name="gradeLevel" minOccurs="0" nillable="true" type="xGradeLevelType" />
      <xs:element name="projectedGraduationYear" minOccurs="0" nillable="true" type="xs:gYear" />
      <xs:element name="counselor" minOccurs="0" nillable="true" type="xPersonReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepStandardPurposeType-->

  <xs:simpleType name="iepStandardPurposeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="report" />
      <xs:enumeration value="service" />
      <xs:enumeration value="transfer" />
    </xs:restriction>
  </xs:simpleType>


  <!--iepPlanAnnualGoalListParentAcceptanceType-->

  <xs:complexType name="iepPlanAnnualGoalListParentAcceptanceType">
    <xs:sequence>
      <xs:element name="accepted" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformancePersonalEvaluationNeedsListType-->

  <xs:complexType name="iepPlanPresentLevelPerformancePersonalEvaluationNeedsListType">
    <xs:sequence>
      <xs:element name="need" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--xRaceType-->

  <xs:complexType name="xRaceType">
    <xs:sequence>
      <xs:element name="race" type="xRaceTypeType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceFunctionalDisabilityListDisabilityType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceFunctionalDisabilityListDisabilityType">
    <xs:sequence>
      <xs:element name="disabilityCodeList" minOccurs="0" maxOccurs="unbounded" type="xDisabilityType" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="consequences" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="accommodation" minOccurs="0" maxOccurs="unbounded" type="iepCommonAccommodationType" />
    </xs:sequence>
  </xs:complexType>


  <!--fundingSourceType-->

  <xs:complexType name="fundingSourceType">
    <xs:sequence>
      <xs:element name="FundingSource" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAmendmentListAmendmentChangeListChangeType-->

  <xs:complexType name="iepPlanAmendmentListAmendmentChangeListChangeType">
    <xs:sequence>
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="reasonForChange" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--xDemographicsType-->

  <xs:complexType name="xDemographicsType">
    <xs:sequence>
      <xs:element name="races" minOccurs="0" nillable="true" type="xRaceListType" />
      <xs:element name="hispanicLatinoEthnicity" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="sex" minOccurs="0" nillable="true" type="xSexType" />
      <xs:element name="birthDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="countryOfBirth" minOccurs="0" nillable="true" type="xCountryCodeType" />
      <xs:element name="usCitizenshipStatus" minOccurs="0" nillable="true" type="gCitizenshipStatusType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepTransmitPermissionListType-->

  <xs:complexType name="iepTransmitPermissionListType">
    <xs:sequence>
      <xs:element name="transmitPermission" minOccurs="0" maxOccurs="unbounded" type="iepTransmitPermissionType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEligibilityBackgroundReferralType-->

  <xs:complexType name="iepEligibilityBackgroundReferralType">
    <xs:sequence>
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="referrer" minOccurs="0" nillable="true" type="iepEligibilityBackgroundReferralReferrerType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanCommonAuthorizationParentGuardianAuthorizationRejectedPlanElementsType-->

  <xs:complexType name="iepPlanCommonAuthorizationParentGuardianAuthorizationRejectedPlanElementsType">
    <xs:sequence>
      <xs:element name="rejectedDetailList" minOccurs="0" maxOccurs="unbounded" type="iepPlanCommonAuthorizationParentGuardianAuthorizationRejectedPlanElementsRejectedDetailListType" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--xPersonIdType-->

  <xs:simpleType name="xPersonIdType">
    <xs:restriction base="xs:token" />
  </xs:simpleType>


  <!--xTelephoneListType-->

  <xs:complexType name="xTelephoneListType">
    <xs:sequence>
      <xs:element name="phoneNumber" minOccurs="0" maxOccurs="unbounded" type="xTelephoneType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepRoleType-->

  <xs:simpleType name="iepRoleType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="PSYCH" />
      <xs:enumeration value="SOCIALWORK" />
      <xs:enumeration value="OCCTHERAP" />
      <xs:enumeration value="AUDIO" />
      <xs:enumeration value="PEANDREC" />
      <xs:enumeration value="PHYSTHERAP" />
      <xs:enumeration value="SPEECHPATH" />
      <xs:enumeration value="INTERPRET" />
      <xs:enumeration value="COUNSELOR" />
      <xs:enumeration value="ORIENTMOBIL" />
      <xs:enumeration value="MEDNURSE" />
    </xs:restriction>
  </xs:simpleType>


  <!--iepEligibilityParticipantReportListParticipantReportType-->

  <xs:complexType name="iepEligibilityParticipantReportListParticipantReportType">
    <xs:sequence>
      <xs:element name="authorization" minOccurs="0" nillable="true" type="iepCommonAuthorizingPersonType" />
      <xs:element name="role" minOccurs="0" maxOccurs="unbounded" type="iepRoleType" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="procedures" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="observations" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="conclusions" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalProgressReportListProgressReportMeasurementDataNamesType-->

  <xs:complexType name="iepPlanAnnualGoalProgressReportListProgressReportMeasurementDataNamesType">
    <xs:sequence>
      <xs:element name="categoryName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="valueName" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepCommonExternalPartyType-->

  <xs:complexType name="iepCommonExternalPartyType">
    <xs:sequence>
      <xs:element name="contactRefId" minOccurs="0" nillable="true" type="iepCommonContactRefIdPointerType" />
      <xs:element name="organizationRefId" minOccurs="0" nillable="true" type="iepCommonOrganizationRefIdPointerType" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceFunctionalSummaryAccommodationListAccommodationType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceFunctionalSummaryAccommodationListAccommodationType">
    <xs:sequence>
      <xs:element name="category" minOccurs="0" nillable="true" type="iepCategoryType" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAccommodationsListType-->

  <xs:complexType name="iepPlanAccommodationsListType">
    <xs:sequence>
      <xs:element name="accommodation" minOccurs="0" nillable="true" type="iepPlanAccommodationsListAccommodationType" />
    </xs:sequence>
  </xs:complexType>


  <!--gCitizenshipStatusType-->

  <xs:simpleType name="gCitizenshipStatusType">
    <xs:restriction base="xs:token" />
  </xs:simpleType>


  <!--iepPlanPresentLevelPerformancePersonalIntentionDesiredOutcomeListDesiredOutcomeType-->

  <xs:complexType name="iepPlanPresentLevelPerformancePersonalIntentionDesiredOutcomeListDesiredOutcomeType">
    <xs:sequence>
      <xs:element name="category" minOccurs="0" nillable="true" type="iepCategoryType" />
      <xs:element name="title" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="timeframe" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformancePersonalEvaluationPersonalGoalsListType-->

  <xs:complexType name="iepPlanPresentLevelPerformancePersonalEvaluationPersonalGoalsListType">
    <xs:sequence>
      <xs:element name="personalGoal" minOccurs="0" nillable="true" type="iepPlanPresentLevelPerformancePersonalEvaluationPersonalGoalsListPersonalGoalType" />
    </xs:sequence>
  </xs:complexType>


  <!--xStaffPersonAssignmentType-->

  <xs:complexType name="xStaffPersonAssignmentType">
    <xs:sequence>
      <xs:element name="leaRefId" minOccurs="0" nillable="true" type="gRefIdPointerType" />
      <xs:element name="schoolRefId" minOccurs="0" nillable="true" type="gRefIdPointerType" />
      <xs:element name="jobFunction" minOccurs="0" nillable="true" type="xEducationStaffClassificationType" />
    </xs:sequence>
  </xs:complexType>


  <!--xOtherCourseIdListType-->

  <xs:complexType name="xOtherCourseIdListType">
    <xs:sequence>
      <xs:element name="otherId" minOccurs="0" maxOccurs="unbounded" type="xOtherCourseIdType" />
    </xs:sequence>
  </xs:complexType>


  <!--xContactStudentRelationshipListType-->

  <xs:complexType name="xContactStudentRelationshipListType">
    <xs:sequence>
      <xs:element name="relationship" minOccurs="0" maxOccurs="unbounded" type="xContactStudentRelationshipType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceAcademicDeficitListDeficitType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceAcademicDeficitListDeficitType">
    <xs:sequence>
      <xs:element name="academicSubject" minOccurs="0" maxOccurs="unbounded" type="academicSubjectSimpleType" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="consequences" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="accommodation" minOccurs="0" maxOccurs="unbounded" type="iepCommonAccommodationType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAmendmentListAmendmentChangeListType-->

  <xs:complexType name="iepPlanAmendmentListAmendmentChangeListType">
    <xs:sequence>
      <xs:element name="change" minOccurs="0" maxOccurs="unbounded" type="iepPlanAmendmentListAmendmentChangeListChangeType" />
    </xs:sequence>
  </xs:complexType>


  <!--xSessionListType-->

  <xs:complexType name="xSessionListType">
    <xs:sequence>
      <xs:element name="sessionList" minOccurs="0" maxOccurs="unbounded" type="xSessionType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepTransmitPermissionJustificationType-->

  <xs:complexType name="iepTransmitPermissionJustificationType">
    <xs:sequence>
      <xs:element name="authorizingParent" minOccurs="0" nillable="true" type="iepCommonAuthorizingPersonType" />
      <xs:element name="otherJustification" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceFunctionalSummaryType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceFunctionalSummaryType">
    <xs:sequence>
      <xs:element name="description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="accommodationList" minOccurs="0" nillable="true" type="iepPlanPresentLevelPerformanceFunctionalSummaryAccommodationListType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEnvironmentForEarlyChildhoodType-->

  <xs:simpleType name="iepEnvironmentForEarlyChildhoodType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="REC09YOTHLOC" />
      <xs:enumeration value="REC10YOTHLOC" />
      <xs:enumeration value="REC09YSVCS" />
      <xs:enumeration value="REC10YSVCS" />
      <xs:enumeration value="SC" />
      <xs:enumeration value="SS" />
      <xs:enumeration value="RF" />
      <xs:enumeration value="H" />
      <xs:enumeration value="SPL" />
    </xs:restriction>
  </xs:simpleType>


  <!--tiepReferenceObjectOrganizationListType-->

  <xs:complexType name="tiepReferenceObjectOrganizationListType">
    <xs:sequence>
      <xs:element name="referenceOrganization" minOccurs="0" maxOccurs="unbounded" type="xOrganizationType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformancePersonalIntentionDesiredOutcomeListType-->

  <xs:complexType name="iepPlanPresentLevelPerformancePersonalIntentionDesiredOutcomeListType">
    <xs:sequence>
      <xs:element name="desiredOutcome" minOccurs="0" nillable="true" type="iepPlanPresentLevelPerformancePersonalIntentionDesiredOutcomeListDesiredOutcomeType" />
    </xs:sequence>
  </xs:complexType>


  <!--authorizingOfficialsListType-->

  <xs:complexType name="authorizingOfficialsListType">
    <xs:sequence>
      <xs:element name="authorizingOfficial" minOccurs="0" nillable="true" type="iepCommonAuthorizingPersonType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAmendmentListType-->

  <xs:complexType name="iepPlanAmendmentListType">
    <xs:sequence>
      <xs:element name="amendment" minOccurs="0" maxOccurs="unbounded" type="iepPlanAmendmentListAmendmentType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepExtendsSchoolYearType-->

  <xs:simpleType name="iepExtendsSchoolYearType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
    </xs:restriction>
  </xs:simpleType>


  <!--xEmailType-->

  <xs:complexType name="xEmailType">
    <xs:sequence>
      <xs:element name="emailType" minOccurs="0" nillable="true" type="xEmailTypeType" />
      <xs:element name="emailAddress" type="xs:token" />
    </xs:sequence>
  </xs:complexType>


  <!--iepCommonServiceProviderType-->

  <xs:complexType name="iepCommonServiceProviderType">
    <xs:sequence>
      <xs:element name="contactRefId" minOccurs="0" nillable="true" type="iepCommonContactRefIdPointerType" />
      <xs:element name="organizationRefId" minOccurs="0" nillable="true" type="iepCommonOrganizationRefIdPointerType" />
      <xs:element name="staffRefId" minOccurs="0" nillable="true" type="iepCommonStaffRefIdPointerType" />
      <xs:element name="role" minOccurs="0" nillable="true" type="iepRoleType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepLifecyclePurposeType-->

  <xs:simpleType name="iepLifecyclePurposeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Initial" />
      <xs:enumeration value="Reevaluation" />
    </xs:restriction>
  </xs:simpleType>


  <!--xStaffPersonAssignmentListType-->

  <xs:complexType name="xStaffPersonAssignmentListType">
    <xs:sequence>
      <xs:element name="staffPersonAssignment" minOccurs="0" maxOccurs="unbounded" type="xStaffPersonAssignmentType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformancePersonalType-->

  <xs:complexType name="iepPlanPresentLevelPerformancePersonalType">
    <xs:sequence>
      <xs:element name="concerns" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformancePersonalConcernsType" />
      <xs:element name="strengthsDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="motivation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="evaluation" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformancePersonalEvaluationType" />
      <xs:element name="intention" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformancePersonalIntentionType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceAcademicType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceAcademicType">
    <xs:sequence>
      <xs:element name="deficitList" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformanceAcademicDeficitListType" />
      <xs:element name="summary" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformanceAcademicSummaryType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceType">
    <xs:sequence>
      <xs:element name="personal" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformancePersonalType" />
      <xs:element name="academic" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformanceAcademicType" />
      <xs:element name="functional" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformanceFunctionalType" />
      <xs:element name="consequenceOfDisability" minOccurs="0" nillable="true" type="iepPlanPresentLevelPerformanceConsequenceOfDisabilityType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceConsequenceOfDisabilitySpecialCategoryListSpecialCategoryType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceConsequenceOfDisabilitySpecialCategoryListSpecialCategoryType">
    <xs:sequence>
      <xs:element name="programType" minOccurs="0" nillable="true" type="iepProgramTypeType" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalCoursesListCourseType-->

  <xs:complexType name="iepPlanAnnualGoalCoursesListCourseType">
    <xs:sequence>
      <xs:element name="name" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="timing" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="courseContentDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="courseUri" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalProgressReportListProgressReportMeasurementDataValuesListDataValueType-->

  <xs:complexType name="iepPlanAnnualGoalProgressReportListProgressReportMeasurementDataValuesListDataValueType">
    <xs:sequence>
      <xs:element name="category" minOccurs="0" nillable="true" type="xs:integer" />
      <xs:element name="value" minOccurs="0" nillable="true" type="xs:integer" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformancePersonalEvaluationPerformanceType-->

  <xs:complexType name="iepPlanPresentLevelPerformancePersonalEvaluationPerformanceType">
    <xs:sequence>
      <xs:element name="generalEducationDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="testResultList" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformancePersonalEvaluationPerformanceTestResultListType" />
    </xs:sequence>
  </xs:complexType>


  <!--xSubjectType-->

  <xs:simpleType name="xSubjectType">
    <xs:restriction base="xs:token" />
  </xs:simpleType>


  <!--iepEnvironmentForSchoolAgeType-->

  <xs:simpleType name="iepEnvironmentForSchoolAgeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="RC80" />
      <xs:enumeration value="RC79TO40" />
      <xs:enumeration value="RC39" />
      <xs:enumeration value="SS" />
      <xs:enumeration value="RF" />
      <xs:enumeration value="HH" />
      <xs:enumeration value="CF" />
      <xs:enumeration value="PPPS" />
    </xs:restriction>
  </xs:simpleType>


  <!--iepPlanAnnualGoalProgressReportListProgressReportMeasurementDataValuesListType-->

  <xs:complexType name="iepPlanAnnualGoalProgressReportListProgressReportMeasurementDataValuesListType">
    <xs:sequence>
      <xs:element name="dataValue" minOccurs="0" nillable="true" type="iepPlanAnnualGoalProgressReportListProgressReportMeasurementDataValuesListDataValueType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceAcademicSummaryType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceAcademicSummaryType">
    <xs:sequence>
      <xs:element name="description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="accommodationList" minOccurs="0" nillable="true" type="iepPlanPresentLevelPerformanceAcademicSummaryAccommodationListType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalCoursesListType-->

  <xs:complexType name="iepPlanAnnualGoalCoursesListType">
    <xs:sequence>
      <xs:element name="course" minOccurs="0" nillable="true" type="iepPlanAnnualGoalCoursesListCourseType" />
    </xs:sequence>
  </xs:complexType>


  <!--gFractionDecimalType-->

  <xs:simpleType name="gFractionDecimalType">
    <xs:restriction base="xs:decimal" />
  </xs:simpleType>


  <!--iepEligibilityEvaluationResultType-->

  <xs:complexType name="iepEligibilityEvaluationResultType">
    <xs:sequence>
      <xs:element name="procedureDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="type" minOccurs="0" nillable="true" type="iepTypeType" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="date" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="identity" minOccurs="0" nillable="true" type="iepCommonServiceProviderType" />
    </xs:sequence>
  </xs:complexType>


  <!--xMeetingTimeListType-->

  <xs:complexType name="xMeetingTimeListType">
    <xs:sequence>
      <xs:element name="meetingTime" minOccurs="0" maxOccurs="unbounded" type="xMeetingTimeType" />
    </xs:sequence>
  </xs:complexType>


  <!--xLanguageCodeType-->

  <xs:simpleType name="xLanguageCodeType">
    <xs:restriction base="xs:token" />
  </xs:simpleType>


  <!--xTelephoneTypeType-->

  <xs:simpleType name="xTelephoneTypeType">
    <xs:restriction base="xs:token" />
  </xs:simpleType>


  <!--iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveFacilitatorListFacilitatorIdentityType-->

  <xs:complexType name="iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveFacilitatorListFacilitatorIdentityType">
    <xs:sequence>
      <xs:element name="contactRefId" minOccurs="0" nillable="true" type="iepCommonContactRefIdPointerType" />
      <xs:element name="staffRefId" minOccurs="0" nillable="true" type="iepCommonStaffRefIdPointerType" />
      <xs:element name="parentGuardianRefId" minOccurs="0" nillable="true" type="iepCommonStudentContactRefIdPointerType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultStandardsReferenceType-->

  <xs:complexType name="iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultStandardsReferenceType">
    <xs:sequence>
      <xs:element name="assessmentTitle" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="subject" minOccurs="0" nillable="true" type="iepSubjectType" />
      <xs:element name="url" minOccurs="0" nillable="true" type="xs:anyURI" />
    </xs:sequence>
  </xs:complexType>


  <!--iepCommonStaffRefIdPointerType-->

  <xs:simpleType name="iepCommonStaffRefIdPointerType">
    <xs:restriction base="gUUIDType" />
  </xs:simpleType>


  <!--iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveFacilitatorListType-->

  <xs:complexType name="iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveFacilitatorListType">
    <xs:sequence>
      <xs:element name="facilitator" minOccurs="0" nillable="true" type="iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveFacilitatorListFacilitatorType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepCommonAuthorizingPersonType-->

  <xs:complexType name="iepCommonAuthorizingPersonType">
    <xs:sequence>
      <xs:element name="identity" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="qualification" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="date" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="contactRefId" minOccurs="0" nillable="true" type="iepCommonContactRefIdPointerType" />
      <xs:element name="staffRefId" minOccurs="0" nillable="true" type="iepCommonStaffRefIdPointerType" />
      <xs:element name="parentGuardianRefId" minOccurs="0" nillable="true" type="iepCommonStudentContactRefIdPointerType" />
      <xs:element name="studentRefId" minOccurs="0" nillable="true" type="iepCommonStudentRefIdPointerType" />
      <xs:element name="intrinsicRole" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--xOtherPersonAddressListType-->

  <xs:complexType name="xOtherPersonAddressListType">
    <xs:sequence>
      <xs:element name="name" minOccurs="0" maxOccurs="unbounded" type="xPersonAddressType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanEnrollmentGradeLevelType-->

  <xs:complexType name="iepPlanEnrollmentGradeLevelType">
    <xs:sequence>
      <xs:element name="standardGradeLevel" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEligibilityBackgroundReferralReferrerType-->

  <xs:complexType name="iepEligibilityBackgroundReferralReferrerType">
    <xs:sequence>
      <xs:element name="identity" minOccurs="0" nillable="true" type="iepCommonAuthorizingPersonType" />
      <xs:element name="date" minOccurs="0" nillable="true" type="xs:date" />
    </xs:sequence>
  </xs:complexType>


  <!--xOtherPersonIdType-->

  <xs:complexType name="xOtherPersonIdType">
    <xs:sequence>
      <xs:element name="type" minOccurs="0" nillable="true" type="xPersonIdSystemType" />
      <xs:element name="id" type="xPersonIdType" />
    </xs:sequence>
  </xs:complexType>


  <!--gStreetType-->

  <xs:complexType name="gStreetType">
    <xs:sequence>
      <xs:element name="Line1" 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:token" />
      <xs:element name="StreetPrefix" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="StreetName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StreetType" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="StreetSuffix" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="ApartmentType" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="ApartmentNumberPrefix" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="ApartmentNumber" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="ApartmentNumberSuffix" minOccurs="0" nillable="true" type="xs:token" />
    </xs:sequence>
  </xs:complexType>


  <!--xTransferIepType-->

  <xs:complexType name="xTransferIepType">
    <xs:sequence>
      <xs:element name="referenceObjects" minOccurs="0" nillable="true" type="tiepReferenceObjectsType" />
      <xs:element name="iep" minOccurs="0" nillable="true" type="xIepType" />
      <xs:element name="historyList" minOccurs="0" nillable="true" type="tiepHistoryListType" />
    </xs:sequence>
    <xs:attribute name="refId" use="required" type="gRefIdType" />
  </xs:complexType>


  <!--xAcademicSummaryType-->

  <xs:complexType name="xAcademicSummaryType">
    <xs:sequence>
      <xs:element name="cumulativeWeightedGpa" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="termWeightedGpa" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="classRank" minOccurs="0" nillable="true" type="xs:integer" />
    </xs:sequence>
  </xs:complexType>


  <!--xPersonNameType-->

  <xs:complexType name="xPersonNameType">
    <xs:sequence>
      <xs:element name="type" minOccurs="0" nillable="true" type="xPersonNameTypeType" />
      <xs:element name="prefix" minOccurs="0" nillable="true" type="xs:token" />
      <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="suffix" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--xStudentContactListType-->

  <xs:complexType name="xStudentContactListType">
    <xs:sequence>
      <xs:element name="contactPersonRefId" minOccurs="0" maxOccurs="unbounded" type="gRefIdPointerType" />
      <xs:element name="xContact" minOccurs="0" maxOccurs="unbounded" type="xContactType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPlacementScheduleModificationSchoolDayType-->

  <xs:complexType name="iepPlanPlacementScheduleModificationSchoolDayType">
    <xs:sequence>
      <xs:element name="category" minOccurs="0" nillable="true" type="iepCategoryType" />
      <xs:element name="specificModification" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="rationale" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPlacementScheduleModificationType-->

  <xs:complexType name="iepPlanPlacementScheduleModificationType">
    <xs:sequence>
      <xs:element name="schoolDay" minOccurs="0" nillable="true" type="iepPlanPlacementScheduleModificationSchoolDayType" />
      <xs:element name="schoolYear" minOccurs="0" nillable="true" type="iepPlanPlacementScheduleModificationSchoolYearType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPlacementType-->

  <xs:complexType name="iepPlanPlacementType">
    <xs:sequence>
      <xs:element name="environmentForSchoolAge" minOccurs="0" nillable="true" type="iepEnvironmentForSchoolAgeType" />
      <xs:element name="environmentForEarlyChildhood" minOccurs="0" nillable="true" type="iepEnvironmentForEarlyChildhoodType" />
      <xs:element name="placementRationale" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="scheduleModification" minOccurs="0" nillable="true" type="iepPlanPlacementScheduleModificationType" />
      <xs:element name="transportation" minOccurs="0" nillable="true" type="iepPlanPlacementTransportationType" />
      <xs:element name="leastRestrictiveEnvironment" minOccurs="0" nillable="true" type="iepPlanPlacementLeastRestrictiveEnvironmentType" />
    </xs:sequence>
  </xs:complexType>


  <!--xCourseIdType-->

  <xs:simpleType name="xCourseIdType">
    <xs:restriction base="xs:token" />
  </xs:simpleType>


  <!--iepEligibilityBackgroundConsentToEvaluateType-->

  <xs:complexType name="iepEligibilityBackgroundConsentToEvaluateType">
    <xs:sequence>
      <xs:element name="accepted" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="identity" minOccurs="0" nillable="true" type="iepCommonAuthorizingPersonType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepAdministrativeDataType-->

  <xs:complexType name="iepAdministrativeDataType">
    <xs:sequence>
      <xs:element name="studentRefId" minOccurs="0" nillable="true" type="iepCommonStudentRefIdPointerType" />
      <xs:element name="reevaluationDueDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="costSharing" minOccurs="0" nillable="true" type="iepAdministrativeDataCostSharingType" />
      <xs:element name="transferPermissionList" minOccurs="0" nillable="true" type="iepTransmitPermissionListType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalServicesListServiceFrequencyDurationType-->

  <xs:complexType name="iepPlanAnnualGoalServicesListServiceFrequencyDurationType">
    <xs:sequence>
      <xs:element name="directMinutes" minOccurs="0" nillable="true" type="xs:integer" />
      <xs:element name="indirectMinutes" minOccurs="0" nillable="true" type="xs:integer" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEligibilityBackgroundType-->

  <xs:complexType name="iepEligibilityBackgroundType">
    <xs:sequence>
      <xs:element name="referral" minOccurs="0" nillable="true" type="iepEligibilityBackgroundReferralType" />
      <xs:element name="history" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="currentPlacement" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="parentObservations" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="consentToEvaluation" minOccurs="0" maxOccurs="unbounded" type="iepEligibilityBackgroundConsentToEvaluateType" />
    </xs:sequence>
  </xs:complexType>


  <!--accuracyPercentEvaluationSimpleType-->

  <xs:simpleType name="accuracyPercentEvaluationSimpleType">
    <xs:restriction base="xs:decimal" />
  </xs:simpleType>


  <!--iepPlanPresentLevelPerformanceConsequenceOfDisabilityType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceConsequenceOfDisabilityType">
    <xs:sequence>
      <xs:element name="curriculum" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="specialCategoryList" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformanceConsequenceOfDisabilitySpecialCategoryListType" />
    </xs:sequence>
  </xs:complexType>


  <!--xOrganizationIdentificationSystemType-->

  <xs:simpleType name="xOrganizationIdentificationSystemType">
    <xs:restriction base="xs:token" />
  </xs:simpleType>


  <!--iepPlanPlacementTransportationInsideSchoolType-->

  <xs:complexType name="iepPlanPlacementTransportationInsideSchoolType">
    <xs:sequence>
      <xs:element name="category" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceConsequenceOfDisabilitySpecialCategoryListType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceConsequenceOfDisabilitySpecialCategoryListType">
    <xs:sequence>
      <xs:element name="specialCategory" minOccurs="0" nillable="true" type="iepPlanPresentLevelPerformanceConsequenceOfDisabilitySpecialCategoryListSpecialCategoryType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalServicesListServiceType-->

  <xs:complexType name="iepPlanAnnualGoalServicesListServiceType">
    <xs:sequence>
      <xs:element name="type" minOccurs="0" nillable="true" type="iepTypeType" />
      <xs:element name="inclusiveSettingIndicator" minOccurs="0" nillable="true" type="iepInclusiveSettingIndicatorType" />
      <xs:element name="serviceProvider" minOccurs="0" maxOccurs="unbounded" type="iepCommonServiceProviderType" />
      <xs:element name="frequency" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalServicesListServiceFrequencyType" />
      <xs:element name="startDate" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="endDate" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="nonParticipationReason" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="extendsSchoolYear" minOccurs="0" nillable="true" type="iepExtendsSchoolYearType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceAcademicDeficitListType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceAcademicDeficitListType">
    <xs:sequence>
      <xs:element name="deficit" minOccurs="0" nillable="true" type="iepPlanPresentLevelPerformanceAcademicDeficitListDeficitType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalGoalType-->

  <xs:complexType name="iepPlanAnnualGoalGoalType">
    <xs:sequence>
      <xs:element name="category" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="additionalInformation" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="standardsReference" minOccurs="0" nillable="true" type="iepPlanAnnualGoalGoalStandardsReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultAccommodationListAccommodationType-->

  <xs:complexType name="iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultAccommodationListAccommodationType">
    <xs:sequence>
      <xs:element name="accommodation" minOccurs="0" maxOccurs="unbounded" type="iepCommonAccommodationType" />
      <xs:element name="location" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="category" minOccurs="0" nillable="true" type="iepCategoryType" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="achievementStandard" minOccurs="0" nillable="true" type="iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultAccommodationListAccommodationAchievementStandardType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveMeasurementCriterionMetricType-->

  <xs:complexType name="iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveMeasurementCriterionMetricType">
    <xs:sequence>
      <xs:element name="accuracyPercentEvaluation" minOccurs="0" nillable="true" type="accuracyPercentEvaluationSimpleType" />
      <xs:element name="trialCountEvaluation" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalMeasurableObjectiveMeasurementCriterionMetricTrialCountEvaluationType" />
      <xs:element name="otherEvaluation" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--xStudentReferenceListType-->

  <xs:complexType name="xStudentReferenceListType">
    <xs:sequence>
      <xs:element name="studentReference" minOccurs="0" maxOccurs="unbounded" type="xPersonReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceFunctionalDisabilityListType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceFunctionalDisabilityListType">
    <xs:sequence>
      <xs:element name="disability" minOccurs="0" nillable="true" type="iepPlanPresentLevelPerformanceFunctionalDisabilityListDisabilityType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepCommonStudentRefIdPointerType-->

  <xs:simpleType name="iepCommonStudentRefIdPointerType">
    <xs:restriction base="gUUIDType" />
  </xs:simpleType>


  <!--iepPeriodType-->

  <xs:simpleType name="iepPeriodType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="day" />
      <xs:enumeration value="week" />
      <xs:enumeration value="month" />
      <xs:enumeration value="quarter" />
      <xs:enumeration value="term" />
      <xs:enumeration value="year" />
      <xs:enumeration value="school year" />
    </xs:restriction>
  </xs:simpleType>


  <!--xLanguageType-->

  <xs:complexType name="xLanguageType">
    <xs:sequence>
      <xs:element name="type" minOccurs="0" nillable="true" type="xLanguageTypeType" />
      <xs:element name="code" minOccurs="0" nillable="true" type="xLanguageCodeType" />
    </xs:sequence>
  </xs:complexType>


  <!--xOtherOrganizationIdType-->

  <xs:complexType name="xOtherOrganizationIdType">
    <xs:sequence>
      <xs:element name="type" minOccurs="0" nillable="true" type="xOrganizationIdentificationSystemType" />
      <xs:element name="id" type="xs:token" />
    </xs:sequence>
  </xs:complexType>


  <!--iepStatusType-->

  <xs:simpleType name="iepStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="SatisfactoryProgress" />
      <xs:enumeration value="UnsatisfactoryProgress" />
      <xs:enumeration value="Completed" />
      <xs:enumeration value="Other" />
    </xs:restriction>
  </xs:simpleType>


  <!--iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultAccommodationListType-->

  <xs:complexType name="iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultAccommodationListType">
    <xs:sequence>
      <xs:element name="accommodation" minOccurs="0" maxOccurs="unbounded" type="iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultAccommodationListAccommodationType" />
    </xs:sequence>
  </xs:complexType>


  <!--xRaceListType-->

  <xs:complexType name="xRaceListType">
    <xs:sequence>
      <xs:element name="race" minOccurs="0" maxOccurs="unbounded" type="xRaceType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceAcademicSummaryAccommodationListType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceAcademicSummaryAccommodationListType">
    <xs:sequence>
      <xs:element name="accommodation" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformanceAcademicSummaryAccommodationListAccommodationType" />
    </xs:sequence>
  </xs:complexType>


  <!--tiepReferenceObjectStaffListType-->

  <xs:complexType name="tiepReferenceObjectStaffListType">
    <xs:sequence>
      <xs:element name="referenceStaffPerson" minOccurs="0" maxOccurs="unbounded" type="xStaffType" />
    </xs:sequence>
  </xs:complexType>


  <!--tiepHistoryListItemType-->

  <xs:complexType name="tiepHistoryListItemType">
    <xs:sequence>
      <xs:element name="lea" minOccurs="0" nillable="true" type="iepCommonLeaRefIdPointerType" />
      <xs:element name="iepDates" minOccurs="0" nillable="true" type="tiepHistoryItemIepDatesType" />
      <xs:element name="contactInfoRefId" minOccurs="0" nillable="true" type="iepCommonContactRefIdPointerType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalServicesListServiceFrequencyType-->

  <xs:complexType name="iepPlanAnnualGoalServicesListServiceFrequencyType">
    <xs:sequence>
      <xs:element name="cycle" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalServicesListServiceFrequencyCycleType" />
      <xs:element name="duration" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalServicesListServiceFrequencyDurationType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEligibilityIdeaDisabilitySpecificLearningDisabilitySpecialDiagnosisJustificationsSpecificLearningDisabilityType-->

  <xs:complexType name="iepEligibilityIdeaDisabilitySpecificLearningDisabilitySpecialDiagnosisJustificationsSpecificLearningDisabilityType">
    <xs:sequence>
      <xs:element name="primaryCauseExclusions" minOccurs="0" nillable="true" type="iepEligibilityIdeaDisabilitySpecificLearningDisabilitySpecialDiagnosisJustificationsPrimaryCauseExclusionsType" />
      <xs:element name="lackOfAdequateAchievementExplanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="learningSettingObservations" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="decisions" minOccurs="0" nillable="true" type="iepEligibilityIdeaDisabilitySpecificLearningDisabilityDecisionsType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPlacementLeastRestrictiveEnvironmentType-->

  <xs:complexType name="iepPlanPlacementLeastRestrictiveEnvironmentType">
    <xs:sequence>
      <xs:element name="totalMinutesPerWeek" minOccurs="0" nillable="true" type="xs:integer" />
      <xs:element name="inclusionMinutesPerWeek" minOccurs="0" nillable="true" type="xs:integer" />
      <xs:element name="nonInclusionMinutesPerWeek" minOccurs="0" nillable="true" type="xs:integer" />
    </xs:sequence>
  </xs:complexType>


  <!--xEnrollmentListType-->

  <xs:complexType name="xEnrollmentListType">
    <xs:sequence>
      <xs:element name="enrollment" minOccurs="0" maxOccurs="unbounded" type="xEnrollmentType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepInclusiveSettingIndicatorType-->

  <xs:simpleType name="iepInclusiveSettingIndicatorType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
    </xs:restriction>
  </xs:simpleType>


  <!--iepPlanAnnualGoalProgressReportListProgressReportMeasurementType-->

  <xs:complexType name="iepPlanAnnualGoalProgressReportListProgressReportMeasurementType">
    <xs:sequence>
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="dataNames" minOccurs="0" nillable="true" type="iepPlanAnnualGoalProgressReportListProgressReportMeasurementDataNamesType" />
      <xs:element name="dataValuesList" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalProgressReportListProgressReportMeasurementDataValuesListType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalProgressReportListProgressReportType-->

  <xs:complexType name="iepPlanAnnualGoalProgressReportListProgressReportType">
    <xs:sequence>
      <xs:element name="description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="measurement" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalProgressReportListProgressReportMeasurementType" />
      <xs:element name="status" minOccurs="0" nillable="true" type="iepStatusType" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="date" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="identity" minOccurs="0" nillable="true" type="iepCommonAuthorizingPersonType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEligibilityIdeaDisabilitySpecificLearningDisabilitySpecialDiagnosisJustificationsprimaryCauseExclusionsDeterminantFactorsType-->

  <xs:complexType name="iepEligibilityIdeaDisabilitySpecificLearningDisabilitySpecialDiagnosisJustificationsprimaryCauseExclusionsDeterminantFactorsType">
    <xs:sequence>
      <xs:element name="insufficientMath" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="insufficientReading" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="insufficientEnglish" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="visualHearingOrMotorDisability" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="intellectualDisability" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="emotionalDisability" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="culturalFactors" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="environmentalOrEconomicDisadvantage" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="limitedEnglishProficiency" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--xDayListType-->

  <xs:complexType name="xDayListType">
    <xs:sequence>
      <xs:element name="bellScheduleDay" minOccurs="0" nillable="true" type="xDayOfWeekType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceAcademicSummaryAccommodationListAccommodationType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceAcademicSummaryAccommodationListAccommodationType">
    <xs:sequence>
      <xs:element name="category" minOccurs="0" nillable="true" type="iepCategoryType" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepCommonContactRefIdPointerType-->

  <xs:simpleType name="iepCommonContactRefIdPointerType">
    <xs:restriction base="gUUIDType" />
  </xs:simpleType>


  <!--iepPlanAnnualGoalMeasurableObjectiveListType-->

  <xs:complexType name="iepPlanAnnualGoalMeasurableObjectiveListType">
    <xs:sequence>
      <xs:element name="measurableObjective" minOccurs="0" nillable="true" type="iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanCommonAuthorizationParentGuardianAuthorizationRejectedPlanElementsRejectedDetailListType-->

  <xs:complexType name="iepPlanCommonAuthorizationParentGuardianAuthorizationRejectedPlanElementsRejectedDetailListType">
    <xs:sequence>
      <xs:element name="description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalIndependentActionsListType-->

  <xs:complexType name="iepPlanAnnualGoalIndependentActionsListType">
    <xs:sequence>
      <xs:element name="independentAction" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalProgressReportListType-->

  <xs:complexType name="iepPlanAnnualGoalProgressReportListType">
    <xs:sequence>
      <xs:element name="progressReport" minOccurs="0" nillable="true" type="iepPlanAnnualGoalProgressReportListProgressReportType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalType-->

  <xs:complexType name="iepPlanAnnualGoalType">
    <xs:sequence>
      <xs:element name="currentStatus" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="goalType" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalGoalType" />
      <xs:element name="measurableObjectiveList" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalMeasurableObjectiveListType" />
      <xs:element name="independentActionsList" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalIndependentActionsListType" />
      <xs:element name="servicesList" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalServicesListType" />
      <xs:element name="coursesList" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalCoursesListType" />
      <xs:element name="progressReportList" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalProgressReportListType" />
      <xs:element name="parentAcceptance" minOccurs="0" nillable="true" type="iepPlanAnnualGoalListParentAcceptanceType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveMeasurementCriterionType-->

  <xs:complexType name="iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveMeasurementCriterionType">
    <xs:sequence>
      <xs:element name="description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="metric" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveMeasurementCriterionMetricType" />
    </xs:sequence>
  </xs:complexType>


  <!--xTelephoneType-->

  <xs:complexType name="xTelephoneType">
    <xs:sequence>
      <xs:element name="phoneNumberType" minOccurs="0" nillable="true" type="xTelephoneTypeType" />
      <xs:element name="number" type="xs:token" />
      <xs:element name="primaryIndicator" minOccurs="0" nillable="true" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>


  <!--gFullTimeStatusType-->

  <xs:simpleType name="gFullTimeStatusType">
    <xs:restriction base="xs:token" />
  </xs:simpleType>


  <!--iepPlanCommonAuthorizationParentGuardianAuthorizationType-->

  <xs:complexType name="iepPlanCommonAuthorizationParentGuardianAuthorizationType">
    <xs:sequence>
      <xs:element name="accepted" minOccurs="0" nillable="true" type="iepAcceptedType" />
      <xs:element name="rejectedPlanElements" minOccurs="0" maxOccurs="unbounded" type="iepPlanCommonAuthorizationParentGuardianAuthorizationRejectedPlanElementsType" />
      <xs:element name="authorizingParentGuardian" minOccurs="0" nillable="true" type="iepCommonAuthorizingPersonType" />
      <xs:element name="authorizationDate" minOccurs="0" nillable="true" type="xs:date" />
    </xs:sequence>
  </xs:complexType>


  <!--iepAdministrativeDataCostSharingType-->

  <xs:complexType name="iepAdministrativeDataCostSharingType">
    <xs:sequence>
      <xs:element name="status" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="agency" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--tiepReferenceObjectContactListType-->

  <xs:complexType name="tiepReferenceObjectContactListType">
    <xs:sequence>
      <xs:element name="referenceContactPerson" minOccurs="0" maxOccurs="unbounded" type="xContactType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceFunctionalType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceFunctionalType">
    <xs:sequence>
      <xs:element name="disabilityList" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformanceFunctionalDisabilityListType" />
      <xs:element name="summary" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformanceFunctionalSummaryType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEligibilityIdeaDisabilityAnalysisType-->

  <xs:complexType name="iepEligibilityIdeaDisabilityAnalysisType">
    <xs:sequence>
      <xs:element name="adverseEffects" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="educationNeeds" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="accommodation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="otherInformation" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAccommodationsListAccommodationType-->

  <xs:complexType name="iepPlanAccommodationsListAccommodationType">
    <xs:sequence>
      <xs:element name="accommodation" minOccurs="0" maxOccurs="unbounded" type="iepCommonAccommodationType" />
      <xs:element name="applicabilityList" minOccurs="0" maxOccurs="unbounded" type="iepPlanAccommodationsListAccommodationApplicabiltyListType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEligibleType-->

  <xs:simpleType name="iepEligibleType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
    </xs:restriction>
  </xs:simpleType>


  <!--iepPlanAnnualGoalListType-->

  <xs:complexType name="iepPlanAnnualGoalListType">
    <xs:sequence>
      <xs:element name="annualGoal" minOccurs="0" maxOccurs="unbounded" type="iepPlanAnnualGoalType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepCommonLeaRefIdPointerType-->

  <xs:simpleType name="iepCommonLeaRefIdPointerType">
    <xs:restriction base="gUUIDType" />
  </xs:simpleType>


  <!--xStaffReferenceType-->

  <xs:complexType name="xStaffReferenceType">
    <xs:sequence>
      <xs:element name="staffPersonReference" minOccurs="0" nillable="true" type="xPersonReferenceType" />
      <xs:element name="teacherOfRecord" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="percentResponsible" minOccurs="0" nillable="true" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>


  <!--xSchoolYearType-->

  <xs:simpleType name="xSchoolYearType">
    <xs:restriction base="xs:gYear" />
  </xs:simpleType>


  <!--xOtherPersonNameListType-->

  <xs:complexType name="xOtherPersonNameListType">
    <xs:sequence>
      <xs:element name="name" minOccurs="0" maxOccurs="unbounded" type="xPersonNameType" />
    </xs:sequence>
  </xs:complexType>


  <!--xOrganizationIdType-->

  <xs:simpleType name="xOrganizationIdType">
    <xs:restriction base="xs:token" />
  </xs:simpleType>


  <!--iepCommonAccommodationType-->

  <xs:complexType name="iepCommonAccommodationType">
    <xs:sequence>
      <xs:element name="type" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="rationale" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepCommonStudentContactRefIdPointerType-->

  <xs:simpleType name="iepCommonStudentContactRefIdPointerType">
    <xs:restriction base="gUUIDType" />
  </xs:simpleType>


  <!--xOrganizationAddressType-->

  <xs:complexType name="xOrganizationAddressType">
    <xs:sequence>
      <xs:element name="addressType" minOccurs="0" nillable="true" type="xAddressTypeForOrganizationType" />
      <xs:element name="line1" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="line2" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="city" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="stateProvince" minOccurs="0" nillable="true" type="xStateCodeUSType" />
      <xs:element name="countryCode" minOccurs="0" nillable="true" type="xCountryCodeType" />
      <xs:element name="postalCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEligibilityIdeaDisabilitySpecificLearningDisabilitySpecialDiagnosisJustificationsType-->

  <xs:complexType name="iepEligibilityIdeaDisabilitySpecificLearningDisabilitySpecialDiagnosisJustificationsType">
    <xs:sequence>
      <xs:element name="specificLearningDisability" minOccurs="0" nillable="true" type="iepEligibilityIdeaDisabilitySpecificLearningDisabilitySpecialDiagnosisJustificationsSpecificLearningDisabilityType" />
      <xs:element name="TeamOverride" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformancePersonalEvaluationPersonalGoalsListPersonalGoalType-->

  <xs:complexType name="iepPlanPresentLevelPerformancePersonalEvaluationPersonalGoalsListPersonalGoalType">
    <xs:sequence>
      <xs:element name="description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="successCriteria" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--tiepReferenceObjectLeaListType-->

  <xs:complexType name="tiepReferenceObjectLeaListType">
    <xs:sequence>
      <xs:element name="referenceLea" minOccurs="0" maxOccurs="unbounded" type="xLeaType" />
    </xs:sequence>
  </xs:complexType>


  <!--xOtherPersonIdListType-->

  <xs:complexType name="xOtherPersonIdListType">
    <xs:sequence>
      <xs:element name="otherId" minOccurs="0" maxOccurs="unbounded" type="xOtherPersonIdType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformancePersonalEvaluationType-->

  <xs:complexType name="iepPlanPresentLevelPerformancePersonalEvaluationType">
    <xs:sequence>
      <xs:element name="needsList" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformancePersonalEvaluationNeedsListType" />
      <xs:element name="performance" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformancePersonalEvaluationPerformanceType" />
      <xs:element name="personalGoalsList" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformancePersonalEvaluationPersonalGoalsListType" />
    </xs:sequence>
  </xs:complexType>


  <!--gLocalIdType-->

  <xs:complexType name="gLocalIdType">
    <xs:sequence>
      <xs:element name="IdType" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:token">
              <xs:attribute name="Codeset" use="optional" type="xs:token" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="IdValue" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--iepTypeType-->

  <xs:simpleType name="iepTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Academic Achievement" />
      <xs:enumeration value="Developmental" />
      <xs:enumeration value="Motor" />
      <xs:enumeration value="Functional Behavior" />
      <xs:enumeration value="Adaptive Behavior" />
      <xs:enumeration value="Transition" />
      <xs:enumeration value="Vocational" />
      <xs:enumeration value="Communication" />
      <xs:enumeration value="Hearing" />
      <xs:enumeration value="Vision" />
      <xs:enumeration value="Orientation and Mobility" />
      <xs:enumeration value="Medical" />
      <xs:enumeration value="Language" />
      <xs:enumeration value="Speech" />
      <xs:enumeration value="Cognitive" />
      <xs:enumeration value="Social/Emotional" />
      <xs:enumeration value="Other" />
    </xs:restriction>
  </xs:simpleType>


  <!--iepPlanPresentLevelPerformancePersonalEvaluationPerformanceTestResultListType-->

  <xs:complexType name="iepPlanPresentLevelPerformancePersonalEvaluationPerformanceTestResultListType">
    <xs:sequence>
      <xs:element name="diagnosticStatement" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEligibilityIdeaDisabilityType-->

  <xs:complexType name="iepEligibilityIdeaDisabilityType">
    <xs:sequence>
      <xs:element name="disabilityCodeList" minOccurs="0" maxOccurs="unbounded" type="xDisabilityType" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="analysis" minOccurs="0" maxOccurs="unbounded" type="iepEligibilityIdeaDisabilityAnalysisType" />
      <xs:element name="SpecialDiagnosisJustifications" minOccurs="0" nillable="true" type="iepEligibilityIdeaDisabilitySpecificLearningDisabilitySpecialDiagnosisJustificationsType" />
      <xs:element name="decisions" minOccurs="0" nillable="true" type="iepEligibilityIdeaDisabilityDecisionsType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepAcceptedType-->

  <xs:simpleType name="iepAcceptedType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
    </xs:restriction>
  </xs:simpleType>


  <!--iepProgramTypeType-->

  <xs:simpleType name="iepProgramTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="05978" />
      <xs:enumeration value="89600" />
      <xs:enumeration value="05980" />
      <xs:enumeration value="02196" />
      <xs:enumeration value="02198" />
      <xs:enumeration value="02197" />
      <xs:enumeration value="05982" />
      <xs:enumeration value="02349" />
      <xs:enumeration value="05981" />
      <xs:enumeration value="05979" />
      <xs:enumeration value="09999" />
    </xs:restriction>
  </xs:simpleType>


  <!--AddressRefIdListType-->

  <xs:complexType name="AddressRefIdListType">
    <xs:sequence>
      <xs:element name="AddressRefId" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="gRefIdPointerType">
              <xs:attribute name="AddressRole" use="optional" type="xs:string" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--xOtherCourseIdType-->

  <xs:complexType name="xOtherCourseIdType">
    <xs:sequence>
      <xs:element name="type" minOccurs="0" nillable="true" type="xCourseCodeSystemType" />
      <xs:element name="id" type="xCourseIdType" />
    </xs:sequence>
  </xs:complexType>


  <!--effectivePeriodType-->

  <xs:complexType name="effectivePeriodType">
    <xs:sequence>
      <xs:element name="start" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="end" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="evaluationDate" minOccurs="0" nillable="true" type="xs:date" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanStandardizedAssessmentResultListType-->

  <xs:complexType name="iepPlanStandardizedAssessmentResultListType">
    <xs:sequence>
      <xs:element name="standardizedAssessmentResult" minOccurs="0" maxOccurs="unbounded" type="iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanType-->

  <xs:complexType name="iepPlanType">
    <xs:sequence>
      <xs:element name="effectivePeriod" minOccurs="0" maxOccurs="unbounded" type="effectivePeriodType" />
      <xs:element name="enrollmentGradeLevel" minOccurs="0" maxOccurs="unbounded" type="iepPlanEnrollmentGradeLevelType" />
      <xs:element name="presentLevelPerformance" minOccurs="0" nillable="true" type="iepPlanPresentLevelPerformanceType" />
      <xs:element name="annualGoalsList" minOccurs="0" nillable="true" type="iepPlanAnnualGoalListType" />
      <xs:element name="accommodationsList" minOccurs="0" maxOccurs="unbounded" type="iepPlanAccommodationsListType" />
      <xs:element name="standardizedAssessmentResultList" minOccurs="0" maxOccurs="unbounded" type="iepPlanStandardizedAssessmentResultListType" />
      <xs:element name="placement" minOccurs="0" nillable="true" type="iepPlanPlacementType" />
      <xs:element name="authorization" minOccurs="0" nillable="true" type="iepPlanCommonAuthorizationType" />
      <xs:element name="amendmentList" minOccurs="0" maxOccurs="unbounded" type="iepPlanAmendmentListType" />
    </xs:sequence>
  </xs:complexType>


  <!--xPersonAddressType-->

  <xs:complexType name="xPersonAddressType">
    <xs:sequence>
      <xs:element name="addressType" minOccurs="0" nillable="true" type="xAddressTypeForLearnerOrFamilyType" />
      <xs:element name="line1" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="line2" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="city" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="stateProvince" minOccurs="0" nillable="true" type="xStateCodeUSType" />
      <xs:element name="countryCode" minOccurs="0" nillable="true" type="xCountryCodeType" />
      <xs:element name="postalCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepTransmitPermissionDestinationType-->

  <xs:complexType name="iepTransmitPermissionDestinationType">
    <xs:sequence>
      <xs:element name="lea" minOccurs="0" nillable="true" type="iepCommonLeaRefIdPointerType" />
      <xs:element name="serviceProvider" minOccurs="0" nillable="true" type="iepCommonServiceProviderType" />
      <xs:element name="other" minOccurs="0" nillable="true" type="iepCommonExternalPartyType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepTransmitPermissionType-->

  <xs:complexType name="iepTransmitPermissionType">
    <xs:sequence>
      <xs:element name="authorizingOfficial" minOccurs="0" nillable="true" type="iepCommonAuthorizingPersonType" />
      <xs:element name="authorizationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="justification" minOccurs="0" nillable="true" type="iepTransmitPermissionJustificationType" />
      <xs:element name="destination" minOccurs="0" nillable="true" type="iepTransmitPermissionDestinationType" />
      <xs:element name="purpose" minOccurs="0" nillable="true" type="iepTransmitPermissionPurposeType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformanceFunctionalSummaryAccommodationListType-->

  <xs:complexType name="iepPlanPresentLevelPerformanceFunctionalSummaryAccommodationListType">
    <xs:sequence>
      <xs:element name="accommodation" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformanceFunctionalSummaryAccommodationListAccommodationType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformancePersonalIntentionType-->

  <xs:complexType name="iepPlanPresentLevelPerformancePersonalIntentionType">
    <xs:sequence>
      <xs:element name="overview" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="desiredOutcomeList" minOccurs="0" maxOccurs="unbounded" type="iepPlanPresentLevelPerformancePersonalIntentionDesiredOutcomeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--tiepHistoryItemIepDatesType-->

  <xs:complexType name="tiepHistoryItemIepDatesType">
    <xs:sequence>
      <xs:element name="start" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="end" minOccurs="0" nillable="true" type="xs:date" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPlacementScheduleModificationSchoolYearType-->

  <xs:complexType name="iepPlanPlacementScheduleModificationSchoolYearType">
    <xs:sequence>
      <xs:element name="category" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="specificModification" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="rationale" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepCategoryType-->

  <xs:simpleType name="iepCategoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="IndependentLiving" />
      <xs:enumeration value="Post-secondary" />
      <xs:enumeration value="WorkingEnvironment" />
    </xs:restriction>
  </xs:simpleType>


  <!--iepEligibilityParticipantReportListType-->

  <xs:complexType name="iepEligibilityParticipantReportListType">
    <xs:sequence>
      <xs:element name="participantReport" minOccurs="0" nillable="true" type="iepEligibilityParticipantReportListParticipantReportType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEligibilityEvaluationResultListType-->

  <xs:complexType name="iepEligibilityEvaluationResultListType">
    <xs:sequence>
      <xs:element name="evaluationResult" minOccurs="0" maxOccurs="unbounded" type="iepEligibilityEvaluationResultType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEligibilityType-->

  <xs:complexType name="iepEligibilityType">
    <xs:sequence>
      <xs:element name="background" minOccurs="0" nillable="true" type="iepEligibilityBackgroundType" />
      <xs:element name="evaluationResultList" minOccurs="0" maxOccurs="unbounded" type="iepEligibilityEvaluationResultListType" />
      <xs:element name="ideaDisability" minOccurs="0" nillable="true" type="iepEligibilityIdeaDisabilityType" />
      <xs:element name="eligibilityParticipantReportList" minOccurs="0" maxOccurs="unbounded" type="iepEligibilityParticipantReportListType" />
      <xs:element name="lifecyclePurpose" minOccurs="0" nillable="true" type="iepLifecyclePurposeType" />
      <xs:element name="determination" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="identity" minOccurs="0" nillable="true" type="iepCommonAuthorizingPersonType" />
    </xs:sequence>
  </xs:complexType>


  <!--gRefIdPointerType-->

  <xs:simpleType name="gRefIdPointerType">
    <xs:restriction base="gUUIDType" />
  </xs:simpleType>


  <!--xYearGroupListType-->

  <xs:complexType name="xYearGroupListType">
    <xs:sequence>
      <xs:element name="gradeLevel" minOccurs="0" maxOccurs="unbounded" type="xGradeLevelType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalServicesListServiceFrequencyCycleType-->

  <xs:complexType name="iepPlanAnnualGoalServicesListServiceFrequencyCycleType">
    <xs:sequence>
      <xs:element name="count" minOccurs="0" nillable="true" type="xs:integer" />
      <xs:element name="period" minOccurs="0" nillable="true" type="iepPeriodType" />
    </xs:sequence>
  </xs:complexType>


  <!--xApplicableEducationLevelListType-->

  <xs:complexType name="xApplicableEducationLevelListType">
    <xs:sequence>
      <xs:element name="applicableEducationLevel" minOccurs="0" maxOccurs="unbounded" type="xGradeLevelType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepSubjectType-->

  <xs:simpleType name="iepSubjectType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Reading" />
      <xs:enumeration value="Math" />
      <xs:enumeration value="Sciences" />
      <xs:enumeration value="SocialStudies" />
    </xs:restriction>
  </xs:simpleType>


  <!--xSessionType-->

  <xs:complexType name="xSessionType">
    <xs:sequence>
      <xs:element name="sessionType" minOccurs="0" nillable="true" type="xSessionTypeType" />
      <xs:element name="sessionCode" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="markingTerm" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="schedulingTerm" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="linkedSessionCode" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="startDate" type="xs:date" />
      <xs:element name="endDate" minOccurs="0" nillable="true" type="xs:date" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalServicesListType-->

  <xs:complexType name="iepPlanAnnualGoalServicesListType">
    <xs:sequence>
      <xs:element name="service" minOccurs="0" nillable="true" type="iepPlanAnnualGoalServicesListServiceType" />
    </xs:sequence>
  </xs:complexType>


  <!--xLoginIdType-->

  <xs:simpleType name="xLoginIdType">
    <xs:restriction base="xs:token" />
  </xs:simpleType>


  <!--xIepType-->

  <xs:complexType name="xIepType">
    <xs:sequence>
      <xs:element name="iepAdministrativeData" minOccurs="0" nillable="true" type="iepAdministrativeDataType" />
      <xs:element name="iepEligibility" minOccurs="0" nillable="true" type="iepEligibilityType" />
      <xs:element name="iepPlan" minOccurs="0" nillable="true" type="iepPlanType" />
    </xs:sequence>
    <xs:attribute name="refId" use="required" type="gRefIdType" />
  </xs:complexType>


  <!--iepTransmitPermissionPurposeType-->

  <xs:complexType name="iepTransmitPermissionPurposeType">
    <xs:sequence>
      <xs:element name="standardPurpose" minOccurs="0" nillable="true" type="iepStandardPurposeType" />
      <xs:element name="otherPurpose" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultAccommodationListAccommodationAchievementStandardType-->

  <xs:complexType name="iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultAccommodationListAccommodationAchievementStandardType">
    <xs:sequence>
      <xs:element name="type" minOccurs="0" nillable="true" type="iepTypeType" />
      <xs:element name="name" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalMeasurableObjectiveMeasurementCriterionMetricTrialCountEvaluationType-->

  <xs:complexType name="iepPlanAnnualGoalMeasurableObjectiveMeasurementCriterionMetricTrialCountEvaluationType">
    <xs:sequence>
      <xs:element name="successCount" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="attemptCount" minOccurs="0" nillable="true" type="xs:unsignedInt" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPresentLevelPerformancePersonalConcernsType-->

  <xs:complexType name="iepPlanPresentLevelPerformancePersonalConcernsType">
    <xs:sequence>
      <xs:element name="reason" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="parentConcernDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="studentConcernDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="background" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAccommodationsListAccommodationApplicabiltyListType-->

  <xs:complexType name="iepPlanAccommodationsListAccommodationApplicabiltyListType">
    <xs:sequence>
      <xs:element name="applicability" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--xOtherOrganizationIdListType-->

  <xs:complexType name="xOtherOrganizationIdListType">
    <xs:sequence>
      <xs:element name="otherId" minOccurs="0" maxOccurs="unbounded" type="xOtherOrganizationIdType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEligibilityIdeaDisabilitySpecificLearningDisabilitySpecialDiagnosisJustificationsPrimaryCauseExclusionsType-->

  <xs:complexType name="iepEligibilityIdeaDisabilitySpecificLearningDisabilitySpecialDiagnosisJustificationsPrimaryCauseExclusionsType">
    <xs:sequence>
      <xs:element name="determinantFactors" minOccurs="0" nillable="true" type="iepEligibilityIdeaDisabilitySpecificLearningDisabilitySpecialDiagnosisJustificationsprimaryCauseExclusionsDeterminantFactorsType" />
      <xs:element name="medicalExplanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="otherFactorsExplanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--xOrganizationType-->

  <xs:complexType name="xOrganizationType">
    <xs:sequence>
      <xs:element name="name" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="address" minOccurs="0" nillable="true" type="xOrganizationAddressType" />
      <xs:element name="phone" minOccurs="0" nillable="true" type="xTelephoneType" />
    </xs:sequence>
  </xs:complexType>


  <!--gRefIdType-->

  <xs:simpleType name="gRefIdType">
    <xs:restriction base="gUUIDType" />
  </xs:simpleType>


  <!--iepCommonOrganizationRefIdPointerType-->

  <xs:simpleType name="iepCommonOrganizationRefIdPointerType">
    <xs:restriction base="gUUIDType" />
  </xs:simpleType>


  <!--tiepReferenceObjectsType-->

  <xs:complexType name="tiepReferenceObjectsType">
    <xs:sequence>
      <xs:element name="student" minOccurs="0" nillable="true" type="xStudentType" />
      <xs:element name="leaList" minOccurs="0" nillable="true" type="tiepReferenceObjectLeaListType" />
      <xs:element name="contactList" minOccurs="0" nillable="true" type="tiepReferenceObjectContactListType" />
      <xs:element name="staffList" minOccurs="0" nillable="true" type="tiepReferenceObjectStaffListType" />
      <xs:element name="organizationList" minOccurs="0" nillable="true" type="tiepReferenceObjectOrganizationListType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepEligibilityIdeaDisabilitySpecificLearningDisabilityDecisionsType-->

  <xs:complexType name="iepEligibilityIdeaDisabilitySpecificLearningDisabilityDecisionsType">
    <xs:sequence>
      <xs:element name="severeDiscrepancyFound" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="InsufficientResponseToInterventionFound" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="eligibleForSpecificLearningDisabilityFinding" minOccurs="0" nillable="true" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPlacementTransportationOutsideSchoolType-->

  <xs:complexType name="iepPlanPlacementTransportationOutsideSchoolType">
    <xs:sequence>
      <xs:element name="category" minOccurs="0" nillable="true" type="iepCategoryType" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanPlacementTransportationType-->

  <xs:complexType name="iepPlanPlacementTransportationType">
    <xs:sequence>
      <xs:element name="outsideSchool" minOccurs="0" nillable="true" type="iepPlanPlacementTransportationOutsideSchoolType" />
      <xs:element name="insideSchool" minOccurs="0" nillable="true" type="iepPlanPlacementTransportationInsideSchoolType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAmendmentListAmendmentType-->

  <xs:complexType name="iepPlanAmendmentListAmendmentType">
    <xs:sequence>
      <xs:element name="changeList" minOccurs="0" maxOccurs="unbounded" type="iepPlanAmendmentListAmendmentChangeListType" />
      <xs:element name="explanation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="authorization" minOccurs="0" nillable="true" type="iepPlanCommonAuthorizationType" />
    </xs:sequence>
  </xs:complexType>


  <!--xEmailListType-->

  <xs:complexType name="xEmailListType">
    <xs:sequence>
      <xs:element name="email" minOccurs="0" maxOccurs="unbounded" type="xEmailType" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultType-->

  <xs:complexType name="iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultType">
    <xs:sequence>
      <xs:element name="standardsReference" minOccurs="0" maxOccurs="unbounded" type="iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultStandardsReferenceType" />
      <xs:element name="accommodationList" minOccurs="0" maxOccurs="unbounded" type="iepPlanStandardizedAssessmentResultListStandardizedAssessmentResultAccommodationListType" />
    </xs:sequence>
  </xs:complexType>


  <!--xContactStudentRelationshipType-->

  <xs:complexType name="xContactStudentRelationshipType">
    <xs:sequence>
      <xs:element name="studentRefId" type="gRefIdPointerType" />
      <xs:element name="relationshipCode" minOccurs="0" nillable="true" type="xPersonRelationshipToLearnerType" />
      <xs:element name="restrictions" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="livesWith" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="primaryContactIndicator" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="emergencyContactIndicator" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="financialResponsibilityIndicator" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="custodialIndicator" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="communicationsIndicator" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="contactSequence" minOccurs="0" nillable="true" type="xs:integer" />
    </xs:sequence>
  </xs:complexType>


  <!--academicSubjectSimpleType-->

  <xs:simpleType name="academicSubjectSimpleType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="01" />
      <xs:enumeration value="02" />
      <xs:enumeration value="03" />
      <xs:enumeration value="04" />
      <xs:enumeration value="05" />
      <xs:enumeration value="07" />
      <xs:enumeration value="08" />
      <xs:enumeration value="09" />
      <xs:enumeration value="10" />
      <xs:enumeration value="11" />
      <xs:enumeration value="12" />
      <xs:enumeration value="13" />
      <xs:enumeration value="14" />
      <xs:enumeration value="15" />
      <xs:enumeration value="16" />
      <xs:enumeration value="17" />
      <xs:enumeration value="18" />
      <xs:enumeration value="19" />
      <xs:enumeration value="20" />
      <xs:enumeration value="21" />
      <xs:enumeration value="22" />
      <xs:enumeration value="23" />
      <xs:enumeration value="24" />
    </xs:restriction>
  </xs:simpleType>


  <!--iepPlanAnnualGoalGoalStandardsReferenceType-->

  <xs:complexType name="iepPlanAnnualGoalGoalStandardsReferenceType">
    <xs:sequence>
      <xs:element name="url" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="identifier" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveFacilitatorListFacilitatorType-->

  <xs:complexType name="iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveFacilitatorListFacilitatorType">
    <xs:sequence>
      <xs:element name="identity" minOccurs="0" nillable="true" type="iepPlanAnnualGoalMeasurableObjectiveListMeasurableObjectiveFacilitatorListFacilitatorIdentityType" />
      <xs:element name="contribution" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--xPersonReferenceType-->

  <xs:complexType name="xPersonReferenceType">
    <xs:sequence>
      <xs:element name="refId" type="gRefIdPointerType" />
      <xs:element name="localId" minOccurs="0" nillable="true" type="xPersonIdType" />
      <xs:element name="givenName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="familyName" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--xStaffReferenceListType-->

  <xs:complexType name="xStaffReferenceListType">
    <xs:complexContent>
      <xs:extension base="xStaffReferenceType">
        <xs:sequence>
          <xs:element name="otherStaff" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--xMeetingTimeType-->

  <xs:complexType name="xMeetingTimeType">
    <xs:sequence>
      <xs:element name="timeTableDay" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="classMeetingDays" minOccurs="0" nillable="true" type="xDayListType" />
      <xs:element name="timeTablePeriod" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="roomNumber" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="classBeginningTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="classEndingTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="sessionCode" minOccurs="0" nillable="true" type="xs:token" />
      <xs:element name="schoolCalendarRefId" minOccurs="0" nillable="true" type="gRefIdPointerType" />
    </xs:sequence>
  </xs:complexType>


  <!--gUUIDType-->

  <xs:simpleType name="gUUIDType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:pattern value="[0-9A-Fa-f\-]{32,36}" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>


  <!--xLanguageListType-->

  <xs:complexType name="xLanguageListType">
    <xs:complexContent>
      <xs:extension base="xLanguageType">
        <xs:sequence>
          <xs:element name="language" minOccurs="0" maxOccurs="unbounded" type="xLanguageType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--tiepHistoryListType-->

  <xs:complexType name="tiepHistoryListType">
    <xs:complexContent>
      <xs:extension base="tiepHistoryListItemType">
        <xs:sequence>
          <xs:element name="historyItem" minOccurs="0" maxOccurs="unbounded" type="tiepHistoryListItemType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

</xs:schema>