<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.ISBE.SIS.com" targetNamespace="http://www.ISBE.SIS.com" elementFormDefault="qualified">
	<xs:annotation>
<xs:documentation>This schema defines the XML file format for Demographic and Early Childhood details. The 2 main data elements are StudentHdrRecord and StudentDtlsRecord. Both of them have been defined as separate complex types for ease of understanding and reusability.
</xs:documentation>
	</xs:annotation>
	<xs:complexType name="StudentHdrRecord" mixed="false">
		<xs:annotation>
<xs:documentation>This schema defines the XML FileHeader for uploading Student Demographic and Early Childhood data. This particular complex element can be used in other XML files to express the header. It contains 5 simple elements all of which them are mandatory.
</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="FileType">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="40"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="TotRecCnt">
				<xs:simpleType>
					<xs:restriction base="xs:integer">
						<xs:totalDigits value="10"></xs:totalDigits>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="FileName">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="100"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="SentDt">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="\d{2}/\d{2}/\d{4}"></xs:pattern>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="RCDTS">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="15"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="StudentDtlsRecord" mixed="false">
		<xs:annotation>
	<xs:documentation>This schema defines detail record format for uploading new Student demographic data.The StudentDetailsRecord is a complex type wrapping a number of simple elements of which few are mandatory while rest are optional.
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="SID">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="9"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="SAPID">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="50"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="LastName">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="30"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="FirstName">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="30"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="MidName">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="30"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Lineage">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="3"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="MotherMaidenName">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="30"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Race">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Gender">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="DOB">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="\d{2}/\d{2}/\d{4}"></xs:pattern>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="BirthPlace">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="30"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Reading1stInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="ReadImprovInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
  						<xs:maxLength value="2"></xs:maxLength> 
  					</xs:restriction>
  				</xs:simpleType>
  			</xs:element>
			<xs:element name="Title1Ind">
				<xs:simpleType>
					<xs:restriction base="xs:string">
  						<xs:maxLength value="2"></xs:maxLength> 
  					</xs:restriction>
  				</xs:simpleType>
  			</xs:element>
			<xs:element name="EligibleImmigrantEdProg">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="HomeLang">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="3"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="NativeLang">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="3"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="HomelessInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="MigrantInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="PrivateSchoolInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="PlaceHolder9">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="SESInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="LEPInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="IEPInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="PlaceHolder7">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="PlaceHolder8">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="FRLInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Century21Ind">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="EnrollType">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="EnrollDt">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="\d{2}/\d{2}/\d{4}"></xs:pattern>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="HomeRCDTS">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="15"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="ServingRCDTS">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="15"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="EntryLevel">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="SchoolYr">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="4"></xs:maxLength>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="FTE">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="5"></xs:maxLength>
						<xs:pattern value="((\+|-)?[0-1][0-1]*(\.[0-9]*)?)?"></xs:pattern>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
      <xs:element name="PreKAtRisk">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="PreschoolForAll">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="HeadStart">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="PreKTitleI">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="LocalOrOtherFunding">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="EarlyHeadStart">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="PreventionInitiative">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="EarlyIntervention">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ReferralByCfc">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="EINumber">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="6" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="EligibilityDetermination">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:pattern value="\d{2}/\d{2}/\d{4}" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="TransitionDelayReason">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="IepCompletion">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:pattern value="\d{2}/\d{2}/\d{4}" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ServicesBegan">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:pattern value="\d{2}/\d{2}/\d{4}" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="MeetsAtRiskCriteria">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="MeetsPFAIncome">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="FamilyStructure">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
	  </xs:sequence>
	</xs:complexType>
	<xs:element name="DemographicsAndEarlyChildhood">
		<xs:annotation>
			<xs:documentation>The DemographicsAndEarlyChildhood element wraps the two key complex elements of StudentHdrRecord and StudentDtlsRecord.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="StudentHdrRecord" type="StudentHdrRecord"></xs:element>
				<xs:element name="StudentDtlsRecord" type="StudentDtlsRecord" maxOccurs="unbounded"></xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>
