<?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 submitting information for Student Course Assignment. 
		</xs:documentation>
	</xs:annotation>
	<xs:complexType name="StudentCourseAssignmentFileHeader" mixed="false">
		<xs:annotation>
			<xs:documentation>
				This schema defines the XML FileHeader for uploading Student Course Assignment data. This particular complex element can be used in other XML files to express the header.
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="FileType">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="40" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="TotRecCnt" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string" >
						<xs:maxLength 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="StudentCourseAssignmentRecord" mixed="false">
		<xs:annotation>
			<xs:documentation>This schema defines detail record format for submitting information for Student Course Assignment file. The Student Course Assignment Record is a complex type wrapping a number of simple elements of the majority are mandatory and the 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" nillable="true">
				<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="RCDTSHome" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="15" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="RCDTSServing" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="15" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="SchoolYear" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="4" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Term" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="StateCourseCode" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="9" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="LocalCourseId" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="50" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="LocalCourseTitle" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="100" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="StudentCourseStartDate" nillable="true">
				<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="SectionNumber" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="16" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="CourseLevel" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="CourseCredit" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="10" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="ArticulatedCredit" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="DualCredit" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="CourseSetting" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="ActualAttendance" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="10" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="TotalAttendance" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="10" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="SingleParent" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="DisplacedHomemaker" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="CourseNumericGrade" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="10" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="MaximumNumericGrade" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="10" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="StudentCourseEndDate" nillable="true">
				<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="CourseFinalLetterGrade" nillable="true">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="2" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="RecordRow" nillable="true" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            The RecordRow element is for internal purposes only.  Do not add this element to the XML data file.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="StudentCourseAssignment">
		<xs:annotation>
			<xs:documentation>
        The StudentCourseAssignment element wraps the two key complex elements of StudentCourseAssignment FileHeaderRecord and StudentCourseAssignment Record.
      </xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="StudentHdrRecord" type="StudentCourseAssignmentFileHeader" />
				<xs:element name="StudentStudentCourseAssignmentRecord" type="StudentCourseAssignmentRecord" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>