<?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 Early Childhood details. The 2 main data elements are StudentHeaderRecord and StudentRecordDetails. Both of them have been defined as separate complex types for ease of understanding and reusability.</xs:documentation>
</xs:annotation>

<xs:complexType name="StudentHeaderRecord" mixed="false">
	<xs:annotation>
		<xs:documentation>This schema defines the XML FileHeader for uploading 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="30" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="TotRecCnt">
				<xs:simpleType>
					<xs:restriction base="xs:integer">
						<xs:totalDigits value="10" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="FileName">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="40" />
					</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:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="RCDTS">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="15" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
	</xs:sequence>
</xs:complexType>
<xs:complexType name="EarlyChildhoodRecord" mixed="false">
	<xs:annotation>
 		<xs:documentation>This schema defines detail record format for uploading Early Childhood 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:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="SAPID">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="50" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="LastName">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="30" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="FirstName">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="30" />
					</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:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="HomeRCDTS">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="15" />
					</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="EarlyChildhood">
		<xs:annotation>
			<xs:documentation>
			The EarlyChildhood element wraps the two key complex elements of StudentHeaderRecord and EarlyChildhoodRecord.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="StudentHdrRecord" type="StudentHeaderRecord" />
				<xs:element name="EarlyChildhoodRecord" type="EarlyChildhoodRecord" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>

</xs:schema>
