<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.dcsf.gov.uk/schemas/cbds" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.dcsf.gov.uk/schemas/cbds" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" id="V11MigrationSuppInfo">
	<xs:include schemaLocation="TargetTrackerTypes-v1-0.xsd"/>
  <xs:include schemaLocation="SuppInfo-v1-1.xsd"/>
  
  <xs:complexType name="V11MigrationHeaderSuppInfoStructure">
    <xs:sequence>
      <xs:element name="SuppID" type="SupplierIDtype"/>
      <xs:element name="Document" type="DocumentStructure"/>
      <xs:element name="DataSource" type="DataSourceStructure"/>
      <xs:element name="DataSourceMigrator" type="DataSourceMigratorStructure"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DocumentStructure">
    <xs:sequence>
      <xs:element name="Name" type="xs:string"/>
      <xs:element name="Version" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="DataSourceStructure">
    <xs:sequence>
      <xs:element name="Name" type="xs:string"/>
      <xs:element name="Version" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="DataSourceMigratorStructure">
    <xs:sequence>
      <xs:element name="Name" type="xs:string"/>
      <xs:element name="Version" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="V11MigrationPupilSuppInfoStructure">
    <xs:sequence>
      <xs:element name="SuppID" type="SupplierIDtype"/>
      <xs:element name="Assessments" type="AssessmentsStructure" minOccurs="0"/>
      <xs:element name="NCuserTargets" type="NCuserTargetsStructure" minOccurs="0"/>
      <xs:element name="NCtests" type="NCtestsStructure" minOccurs="0"/>
      <xs:element name="UserColumns" type="UserColumnsStructure" minOccurs="0"/>
      <xs:element name="PupilConcerns" type="PupilConcernsStructure" minOccurs="0"/>
      <xs:element name="APPstatements" type="APPstatementsStructure" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="V11MigrationBasicDetailsSuppInfoStructure">
    <xs:sequence>
      <xs:element name="SuppID" type="SupplierIDtype"/>
      <xs:element name="RecYear" type="xs:integer"/>
      <xs:element name="YearGroupModifier" type="xs:integer" minOccurs="0"/>
      <xs:element name="Class" type="xs:string" minOccurs="0"/>
      <xs:element name="Gifted" type="xs:boolean" minOccurs="0"/>
      <xs:element name="Talented" type="xs:boolean" minOccurs="0"/>
      <xs:element name="EAL" type="EALtype" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AssessmentsStructure">
    <xs:sequence>
      <xs:element name="NCassessments" type="NCassessmentsStructure" minOccurs="0"/>
      <xs:element name="EYFSassessments" type="EYFSassessmentsStructure" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name ="NCassessmentsStructure">
    <xs:sequence>
      <xs:element name="NCassessment" type="NCassessmentStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name ="EYFSassessmentsStructure">
    <xs:sequence>
      <xs:element name="EYFSassessment" type="EYFSassessmentStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NCassessmentStructure">
    <xs:sequence>
      <xs:element name="NCsubject" type="NCsubjectType"/>
      <xs:element name="Period" type="PeriodType"/>
      <xs:element name="NClevel" type="NClevelType"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EYFSassessmentStructure">
    <xs:sequence>
      <xs:element name="EYFSsubject" type="EYFSsubjectType"/>
      <xs:element name="Period" type="EYFSperiodType"/>
      <xs:element name="EYFSlevel" type="EYFSlevelType"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NCuserTargetsStructure">
    <xs:sequence>
      <xs:element name="NCuserTarget" type="NCuserTargetStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NCuserTargetStructure" >
    <xs:sequence>
      <xs:element name="NCsubject" type="NCsubjectType"/>
      <xs:element name="Period" type="PeriodType"/>
      <xs:element name="NClevel" type="NClevelType"/>
      <xs:element name="Comment" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NCtestsStructure">
    <xs:sequence>
      <xs:element name="NCtest" type="NCtestStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NCtestStructure">
    <xs:sequence>
      <xs:element name="NCsubject" type="NCsubjectType"/>
      <xs:element name="Period" type="PeriodType"/>
      <xs:element name="NClevel" type="NClevelType"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="UserColumnsStructure">
    <xs:sequence>
      <xs:element name="UserColumn" type="UserColumnStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="UserColumnStructure">
    <xs:sequence>
      <xs:element name="Name" type="xs:string"/>
      <xs:element name="Value" type="xs:string"/>
      <xs:element name="Type" type="UserColumnType"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PupilConcernsStructure">
    <xs:sequence>
      <xs:element name="PupilConcern" type="PupilConcernStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PupilConcernReviewsStructure">
    <xs:sequence>
      <xs:element name="PupilConcernReview" type="PupilConcernReviewStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PupilConcernReviewStructure">
    <xs:sequence>
      <xs:element name="ReviewDate" type="xs:date"/>
      <xs:element name="ReviewText" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PupilConcernActionTargetsStructure">
    <xs:sequence>
      <xs:element name="PupilConcernActionTarget" type="PupilConcernActionTargetStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PupilConcernActionTargetStructure">
    <xs:sequence>
      <xs:element name="ActionTargetText" type="xs:string"/>
      <xs:element name="StartDate" type="xs:date"/>
      <xs:element name="CompletionDate" type="xs:date" minOccurs="0"/>
      <xs:element name="ActionTargetOutcome" type="PupilConcernActionTargetInterventionStrategyOutcomeType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PupilConcernInterventionStrategiesStructure">
    <xs:sequence>
      <xs:element name="PupilConcernInterventionStrategy" type="PupilConcernInterventionStrategyStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PupilConcernInterventionStrategyStructure">
    <xs:sequence>
      <xs:element name="InterventionStrategyText" type="xs:string"/>
      <xs:element name="StartDate" type="xs:date"/>
      <xs:element name="CompletionDate" type="xs:date" minOccurs="0"/>
      <xs:element name="InterventionStrategyOutcome" type="PupilConcernActionTargetInterventionStrategyOutcomeType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PupilConcernStructure">
    <xs:sequence>
      <xs:element name="PupilConcernStatus" type="PupilConcernStatusType"/>
      <xs:element name="ConcernText" type="xs:string"/>
      <xs:element name="BackgroundText" type="xs:string" minOccurs="0"/>
      <xs:element name="SuccessCriteriaText" type="xs:string" minOccurs="0"/>
      <xs:element name="StartDate" type="xs:date"/>
      <xs:element name="ReviewDueDate" type="xs:date" minOccurs="0"/>
      <xs:element name="CloseDate" type="xs:date" minOccurs="0"/>
      <xs:element name="PupilConcernReviews" type="PupilConcernReviewsStructure" minOccurs="0"/>
      <xs:element name="PupilConcernActionTargets" type="PupilConcernActionTargetsStructure" minOccurs="0"/>
      <xs:element name="PupilConcernInterventionStrategies" type="PupilConcernInterventionStrategiesStructure" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="APPstatementsStructure">
    <xs:sequence>
      <xs:element name="APPstatement" type="APPstatementStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="APPstatementStructure">
    <xs:sequence>
      <xs:element name="NCsubject" type="NCsubjectType"/>
      <xs:element name="APPlevel" type="xs:integer"/>
      <xs:element name="AFcode" type="xs:integer"/>
      <xs:element name="AFsequenceNumber" type="xs:integer"/>
      <xs:element name="APPstatus" type="APPstatusType"/>
      <xs:element name="StatementDate" type="xs:date"/>
      <xs:element name="ReviewDate" type="xs:date"/>
      <xs:element name="APPstatementComments" type="APPstatementCommentsStructure" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="APPstatementCommentsStructure">
    <xs:sequence>
      <xs:element name="APPstatementComment" type="APPstatementCommentStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="APPstatementCommentStructure">
    <xs:sequence>
      <xs:element name="CommentDate" type="xs:date"/>
      <xs:element name="CommentText" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
