<?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="TTctfSuppInfo">
	<xs:include schemaLocation="TargetTrackerTypes-v1-0.xsd"/>
  <xs:include schemaLocation="SuppInfo-v1-2.xsd"/>
  
  <xs:complexType name="TTctfHeaderSuppInfoStructure">
    <xs:sequence>
      <xs:element name="SuppID" type="SupplierIDtype"/>
      <xs:element name="Document" type="DocumentStructure"/>
      <xs:element name="DataSource" type="DataSourceStructure"/>
    </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="TTctfPupilSuppInfoStructure">
    <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="PupilGroups" type="PupilGroupsStructure" minOccurs="0"/>
      <xs:element name="PupilNotes" type="PupilNotesStructure" minOccurs="0"/>
      <xs:element name="Attendances" type="AttendancesStructure" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TTctfBasicDetailsSuppInfoStructure">
    <xs:sequence>
      <xs:element name="SuppID" type="SupplierIDtype"/>
      <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:element name="PreviousSetting" type="xs:string" minOccurs="0"/>
      <xs:element name="PreSchoolExperience" type="xs:integer" 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:element name="APPassessments" type="APPassessmentsStructure" 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:element name="Group" type="xs:string" minOccurs="0"/>
    </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="APPassessmentsStructure">
    <xs:sequence>
      <xs:element name="APPassessment" type="APPassessmentStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="APPassessmentStructure">
    <xs:sequence>
      <xs:element name="NCsubject" type="NCsubjectType"/>
      <xs:element name="Period" type="PeriodType"/>
      <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" minOccurs="0"/>
      <xs:element name="APPassessmentComments" type="APPassessmentCommentsStructure" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="APPassessmentCommentsStructure">
    <xs:sequence>
      <xs:element name="APPassessmentComment" type="APPassessmentCommentStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="APPassessmentCommentStructure">
    <xs:sequence>
      <xs:element name="CommentDate" type="xs:date" minOccurs="0"/>
      <xs:element name="CommentText" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="PupilGroupsStructure">
    <xs:sequence>
      <xs:element name="PupilGroup" type="PupilGroupStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="PupilGroupStructure">
    <xs:sequence>
      <xs:element name="GroupName" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="PupilNotesStructure">
    <xs:sequence>
      <xs:element name="PupilNote" type="PupilNoteStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="PupilNoteStructure">
    <xs:sequence>
      <xs:element name="YearGroup" type="YearGroupType"/>
      <xs:element name="PupilNoteText" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="AttendancesStructure">
    <xs:sequence>
      <xs:element name="Attendance" type="AttendanceStructure" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="AttendanceStructure">
    <xs:sequence>
      <xs:element name="YearGroup" type="YearGroupType"/>
      <xs:element name="SessionsPossible" type="xs:integer" minOccurs="0"/>
      <xs:element name="SessionsAuthorised" type="xs:integer" minOccurs="0"/>
      <xs:element name="SessionsUnauthorised" type="xs:integer" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  
</xs:schema>
