<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:common="http://www.immigration.gov/xmlschema/sevisbatch/Common" xmlns:table="http://www.immigration.gov/xmlschema/sevisbatch/Table" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified" version="1.0">
	<xs:import namespace="http://www.immigration.gov/xmlschema/sevisbatch/Table" schemaLocation="SEVISTable.xsd"/>
	<xs:import namespace="http://www.immigration.gov/xmlschema/sevisbatch/Common" schemaLocation="common.xsd"/>
	<xs:element name="SEVISBatchCreateUpdateEV">
		<xs:annotation>
			<xs:documentation>This is the root element of the SEVIS Batch file</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="SEVISEVBatchType">
					<xs:attribute name="userID" type="common:UserIdType" use="required"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="SEVISEVBatchType">
		<xs:sequence>
			<xs:element name="BatchHeader">
				<xs:annotation>
					<xs:documentation>Header information used by SEVIS system to identify program sponsor, user, date and time submitted</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="BatchID" type="common:BatchIDType">
							<xs:annotation>
								<xs:documentation>Batch file ID, program sponsor code and submit date-time stamp</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="ProgramNumber" type="common:ProgramNumberType">
							<xs:annotation>
								<xs:documentation>Unique program sponsor code assigned during application certification/designation - this identifies what program sponsor submitted the file</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="CreateEV" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="ExchangeVisitor" maxOccurs="250">
							<xs:annotation>
								<xs:documentation>Create exchange visitor element</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:complexContent>
									<xs:extension base="EVPersonType">
										<xs:sequence>
											<xs:element name="AddSiteOfActivity" minOccurs="0">
												<xs:complexType>
													<xs:sequence>
														<xs:element name="SiteOfActivity" minOccurs="0" maxOccurs="250">
															<xs:annotation>
																<xs:documentation>Update site of activity</xs:documentation>
															</xs:annotation>
															<xs:complexType>
																<xs:complexContent>
																	<xs:extension base="common:USAddressType">
																		<xs:sequence>
																			<xs:element name="SiteOfActivityName" type="common:Name"/>
																		</xs:sequence>
																	</xs:extension>
																</xs:complexContent>
															</xs:complexType>
														</xs:element>
													</xs:sequence>
												</xs:complexType>
											</xs:element>
											<xs:element name="UserDefinedA" type="table:OptionalKey1" minOccurs="0">
												<xs:annotation>
													<xs:documentation>10 character</xs:documentation>
												</xs:annotation>
											</xs:element>
											<xs:element name="UserDefinedB" type="table:OptionalKey2" minOccurs="0">
												<xs:annotation>
													<xs:documentation>14 character</xs:documentation>
												</xs:annotation>
											</xs:element>
										</xs:sequence>
										<xs:attribute name="requestID" type="common:RequestID" use="required"/>
										<xs:attribute name="userID" type="common:UserIdType" use="required"/>
										<xs:attribute name="printForm" type="table:IndicatorYesNoType" use="required"/>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="UpdateEV" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="ExchangeVisitor" maxOccurs="250">
							<xs:annotation>
								<xs:documentation>Update exchange visitor element</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="UserDefinedA" type="table:OptionalKey1" minOccurs="0">
										<xs:annotation>
											<xs:documentation>10 character</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="UserDefinedB" type="table:OptionalKey2" minOccurs="0">
										<xs:annotation>
											<xs:documentation>14 character</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:choice>
										<xs:element name="ValidateParticipant">
											<xs:annotation>
												<xs:documentation>Validate program participant</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="CurrentUSAddress" type="common:USAddressType"/>
												</xs:sequence>
												<xs:attribute name="printForm" type="table:IndicatorYesNoType" use="required"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="EditEVBio">
											<xs:annotation>
												<xs:documentation>Update biographical information</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:complexContent>
													<xs:extension base="common:NonImgEVBioTypeOptional">
														<xs:sequence>
															<xs:element name="USAddress" type="common:USAddressType" minOccurs="0"/>
															<xs:element name="PositionCode" type="table:EVPositionCodeType" minOccurs="0"/>
															<xs:element name="Remarks" type="common:RemarksType" minOccurs="0"/>
														</xs:sequence>
														<xs:attribute name="printForm" type="table:IndicatorYesNoType" use="required"/>
													</xs:extension>
												</xs:complexContent>
											</xs:complexType>
										</xs:element>
										<xs:element name="AddSiteOfActivity">
											<xs:annotation>
												<xs:documentation>Add site of activity</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="SiteOfActivity">
														<xs:complexType>
															<xs:complexContent>
																<xs:extension base="common:USAddressType">
																	<xs:sequence>
																		<xs:element name="SiteOfActivityName" type="common:Name"/>
																		<xs:element name="Remarks" type="common:RemarksType" minOccurs="0"/>
																	</xs:sequence>
																</xs:extension>
															</xs:complexContent>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
												<xs:attribute name="printForm" type="table:IndicatorYesNoType" use="required"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="DeleteSiteOfActivity">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="SiteOfActivityName" type="common:Name"/>
													<xs:element name="Remarks" type="common:RemarksType" minOccurs="0"/>
												</xs:sequence>
												<xs:attribute name="printForm" type="table:IndicatorYesNoType" use="required"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="UpdateSubjectField">
											<xs:annotation>
												<xs:documentation>Update subject or field of study</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="SubjectFieldCode" type="table:ProgSubjectCodeType"/>
													<xs:element name="Remarks" type="common:RemarksType" minOccurs="0"/>
													<xs:element name="UpdateRemarks" type="common:RemarksType"/>
												</xs:sequence>
												<xs:attribute name="printForm" type="table:IndicatorYesNoType" use="required"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="AmendProgram">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="ProgramStartDate" type="table:DateType" minOccurs="0"/>
													<xs:element name="ProgramEndDate" type="table:DateType" minOccurs="0"/>
													<xs:element name="AmendProgramRemarks" type="common:RemarksType"/>
												</xs:sequence>
												<xs:attribute name="printForm" type="table:IndicatorYesNoType" use="required"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="FinancialUpdate">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="ReceivedUSGovFunds" type="table:IndicatorYesNoType" minOccurs="0"/>
													<xs:element name="CurrentProgramSponsor" type="table:MonetaryType" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Financial support from current program sponsor</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="OtherFunds" minOccurs="0">
														<xs:annotation>
															<xs:documentation>Other financial support required if receiving funds from US organization.</xs:documentation>
														</xs:annotation>
														<xs:complexType>
															<xs:complexContent>
																<xs:extension base="common:OtherEVFundsType"/>
															</xs:complexContent>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
												<xs:attribute name="printForm" type="table:IndicatorYesNoType" use="required"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="EVExtension">
											<xs:annotation>
												<xs:documentation>Extension (within the maximum duration of stay)</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="ProgramEndDate" type="table:DateType">
														<xs:annotation>
															<xs:documentation>New Program End Date</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="ExtendRemarks" type="common:RemarksType" minOccurs="0"/>
												</xs:sequence>
												<xs:attribute name="printForm" type="table:IndicatorYesNoType" use="required"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="EVMatriculation">
											<xs:annotation>
												<xs:documentation>Matriculation</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="MatriculationCode" type="table:MatriculationType"/>
												</xs:sequence>
												<xs:attribute name="printForm" type="table:IndicatorYesNoType" use="required"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="CorrectInfraction">
											<xs:annotation>
												<xs:documentation>Correction of Minor or Technical Infraction</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="InfractionType" type="table:EVInfractionCodeType"/>
													<xs:element name="NewEndDate" type="table:DateType" minOccurs="0"/>
													<xs:element name="Remarks" type="common:RemarksType" minOccurs="0"/>
												</xs:sequence>
												<xs:attribute name="printForm" type="table:IndicatorYesNoType" use="required"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="TerminateEV">
											<xs:annotation>
												<xs:documentation>Terminate Exchange Visitor </xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="TerminationReason" type="table:EVTerminationReasonType"/>
													<xs:element name="TerminationDate" type="table:DateType"/>
													<xs:element name="TerminationRemarks" type="common:RemarksType" minOccurs="0"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="EndProgram">
											<xs:annotation>
												<xs:documentation>Exchange visitor end program</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="EndProgramReason" type="table:EVCompletionCodeType"/>
													<xs:element name="EffectiveDate" type="table:DateType">
														<xs:annotation>
															<xs:documentation>Effective date of completion</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="EndProgramRemarks" type="common:RemarksType" minOccurs="0"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="EditDependent">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="UserDefinedA" type="table:OptionalKey1" minOccurs="0">
														<xs:annotation>
															<xs:documentation>10 character</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="UserDefinedB" type="table:OptionalKey2" minOccurs="0">
														<xs:annotation>
															<xs:documentation>14 character</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:choice>
														<xs:element name="EditDependentPersonal">
															<xs:complexType>
																<xs:complexContent>
																	<xs:extension base="common:NonImgEVBioTypeOptional">
																		<xs:sequence>
																			<xs:element name="Relationship" type="table:DependentCodeType" minOccurs="0"/>
																			<xs:element name="Remarks" type="common:RemarksType" minOccurs="0"/>
																		</xs:sequence>
																		<xs:attribute name="printForm" type="table:IndicatorYesNoType" use="required"/>
																	</xs:extension>
																</xs:complexContent>
															</xs:complexType>
														</xs:element>
														<xs:element name="TerminateDependent">
															<xs:complexType>
																<xs:sequence>
																	<xs:element name="TerminateReason" type="table:EVDepTerminationReasonType"/>
																	<xs:element name="OtherReason" type="common:RemarksType" minOccurs="0"/>
																	<xs:element name="EffectiveDate" type="table:DateType"/>
																	<xs:element name="Comments" type="common:RemarksType" minOccurs="0"/>
																</xs:sequence>
															</xs:complexType>
														</xs:element>
														<xs:element name="DependentEndStatus">
															<xs:complexType>
																<xs:sequence>
																	<xs:element name="EndStatusReason" type="table:DependentCompletionType"/>
																	<xs:element name="OtherReason" type="common:RemarksType" minOccurs="0"/>
																	<xs:element name="Comments" type="common:RemarksType" minOccurs="0"/>
																</xs:sequence>
															</xs:complexType>
														</xs:element>
													</xs:choice>
												</xs:sequence>
												<xs:attribute name="dependentSevisID" type="common:SevisIDType" use="required"/>
												<xs:attribute name="requestID" type="common:RequestID" use="required"/>
											</xs:complexType>
										</xs:element>
										<xs:element name="AddDependent">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Dependent" minOccurs="0" maxOccurs="25">
														<xs:complexType>
															<xs:complexContent>
																<xs:extension base="common:NonImgEVBioType">
																	<xs:sequence>
																		<xs:element name="UserDefinedA" type="table:OptionalKey1" minOccurs="0">
																			<xs:annotation>
																				<xs:documentation>10 character</xs:documentation>
																			</xs:annotation>
																		</xs:element>
																		<xs:element name="UserDefinedB" type="table:OptionalKey2" minOccurs="0">
																			<xs:annotation>
																				<xs:documentation>14 character</xs:documentation>
																			</xs:annotation>
																		</xs:element>
																		<xs:element name="Relationship" type="table:DependentCodeType"/>
																		<xs:element name="Remarks" type="common:RemarksType" minOccurs="0"/>
																	</xs:sequence>
																	<xs:attribute name="printForm" type="table:IndicatorYesNoType" use="required"/>
																</xs:extension>
															</xs:complexContent>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:choice>
								</xs:sequence>
								<xs:attribute name="sevisID" type="common:SevisIDType" use="required"/>
								<xs:attribute name="requestID" type="common:RequestID" use="required"/>
								<xs:attribute name="userID" type="common:UserIdType" use="required"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EVPersonType">
		<xs:sequence>
			<xs:element name="EVBioInfo" type="common:NonImgEVBioType"/>
			<xs:element name="PositionCode" type="table:EVPositionCodeType"/>
			<xs:element name="VisaType" type="table:EVVisaCodeType">
				<xs:annotation>
					<xs:documentation>Visa type J</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="USAddr" type="common:USAddressType">
				<xs:annotation>
					<xs:documentation>US address information</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CreateReason" type="common:IssueReasonEvType"/>
			<xs:element name="ProgramStartDate" type="table:DateType"/>
			<xs:element name="ProgramEndDate" type="table:DateType"/>
			<xs:element name="FinancialSupport">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="ReceivedUSGovFunds" type="table:IndicatorYesNoType"/>
						<xs:element name="ProgramSponsorFunds" type="table:MonetaryType" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Financial support from program sponsor</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="OtherFunds" type="common:OtherEVFundsType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="CreateDependent" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Dependent" minOccurs="0" maxOccurs="25">
							<xs:annotation>
								<xs:documentation>Spouse and children</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:complexContent>
									<xs:extension base="common:NonImgEVBioType">
										<xs:sequence>
											<xs:element name="Relationship" type="table:DependentCodeType"/>
											<xs:element name="UserDefinedA" type="table:OptionalKey1" minOccurs="0">
												<xs:annotation>
													<xs:documentation>10 character</xs:documentation>
												</xs:annotation>
											</xs:element>
											<xs:element name="UserDefinedB" type="table:OptionalKey2" minOccurs="0">
												<xs:annotation>
													<xs:documentation>14 character</xs:documentation>
												</xs:annotation>
											</xs:element>
										</xs:sequence>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="CategoryCode" type="table:EVCategoryCodeType"/>
			<xs:element name="SubjectField">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="SubjectFieldCode" type="table:ProgSubjectCodeType"/>
						<xs:element name="SFRemarks" type="common:RemarksType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
