<?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 new Student Demographic 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 Student demographic 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="100"/>
					</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="NewStudentDetailsRecord" 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: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="MidName">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="30"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Lineage">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="3"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="MotherMaidenName">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="30"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Race">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Gender">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</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="BirthPlace">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="30"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Reading1stInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="ReadImprovInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
  						<xs:maxLength value="2" /> 
  					</xs:restriction>
  				</xs:simpleType>
  			</xs:element>
			<xs:element name="Title1Ind">
				<xs:simpleType>
					<xs:restriction base="xs:string">
  						<xs:maxLength value="2" /> 
  					</xs:restriction>
  				</xs:simpleType>
  			</xs:element>
			<xs:element name="EligibleImmigrantEdProg">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="HomeLang">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="3"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="NativeLang">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="3"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="HomelessInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="MigrantInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="PrivateSchoolInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="PlaceHolder9">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="SESInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="LEPInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="IEPInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="PlaceHolder7">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="PlaceHolder8">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="FRLInd">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Century21Ind">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="EnrollType">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</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: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="ServingRCDTS">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="15"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="EntryLevel">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="SchoolYr">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="4"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="FTE">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="5"/>
						<xs:pattern value="((\+|-)?[0-1][0-1]*(\.[0-9]*)?)?"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>

		</xs:sequence>
	</xs:complexType>
	<xs:element name="StudentDemographics">
		<xs:annotation>
			<xs:documentation>The StudentDemographics element wraps the two key complex elements of 						StudentHeaderRecord and NewStudentDetailsRecord.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="StudentHdrRecord" type="StudentHeaderRecord"/>
				<xs:element name="StudentDtlsRecord" type="NewStudentDetailsRecord" 								maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>
