<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="laemsimportschema" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:complexType name="SampleDetail">
		<xs:sequence>
			<xs:element name="SampleType">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="50" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="ResultType" minOccurs="0" maxOccurs="unbounded">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="50" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Sample">
		<xs:sequence>
			<xs:element name="ProductType">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="50" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="ImportedFrom" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:maxLength value="25" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="SampleStatus">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="25" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="SampleDetail" type="SampleDetail" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Conviction">
		<xs:sequence>
			<xs:element name="Reason" maxOccurs="unbounded">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="50" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Enforcement">
		<xs:sequence>
			<xs:element name="Type">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="50" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="Reason" maxOccurs="unbounded">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="50" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Intervention">
		<xs:sequence>
			<xs:element name="Type">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="50" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="RiskRatingAtIntervention">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="25" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RiskScores">
		<xs:sequence>
			<xs:element name="RiskScoreType">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="75" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="RiskScore">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="10" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Complaints">
		<xs:sequence>
			<xs:element name="ComplaintType">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="50" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Premise">
		<xs:sequence>
			<xs:choice id="IDorDetails">
				<xs:element name="LAPremiseID">
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:minLength value="1" />
							<xs:maxLength value="50" />
						</xs:restriction>
					</xs:simpleType> 
				</xs:element>
				<xs:group ref="PremiseDetails" />
			</xs:choice>
			<xs:element name="PremiseType">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="50" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="Approved" type="xs:token" minOccurs="0" fixed="Y" />
			<xs:element name="Registered" type="xs:token" minOccurs="0" fixed="Y" />
			<xs:element name="InterventionsDue" type="xs:nonNegativeInteger" />
			<xs:element name="CeasedTrading" type="xs:token" minOccurs="0" fixed="Y" />
			<xs:element name="RiskRating">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="25" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="Complaints" type="Complaints" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="RiskScores" type="RiskScores" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="Intervention" type="Intervention" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="Enforcement" type="Enforcement" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="Conviction" type="Conviction" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="Sample" type="Sample" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	<xs:group name="OfficerDetails">
		<xs:sequence>
			<xs:element name="Name">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="50" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="Email">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:maxLength value="100" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="Telephone">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:maxLength value="25" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="Fax">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:maxLength value="25" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
		</xs:sequence>
	</xs:group>
	<xs:complexType name="FTEPosts">
		<xs:sequence>
			<xs:element name="FTEPostType">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="25" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="FTEPostCount">
				<xs:simpleType>
					<xs:restriction base="xs:decimal">
						<xs:totalDigits value="6" />
						<xs:fractionDigits value="2" />
						<xs:minExclusive value="-100" />
						<xs:maxExclusive value="100" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="FTEPostOccupied">
				<xs:simpleType>
					<xs:restriction base="xs:decimal">
						<xs:totalDigits value="6" />
						<xs:fractionDigits value="2" />
						<xs:minExclusive value="-100" />
						<xs:maxExclusive value="100" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="OfficerResponsible">
		<xs:sequence>
			<xs:group ref="OfficerDetails" />
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Responsibility">
		<xs:sequence>
			<xs:element name="ResponsibilityType">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="10" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="RiskRatingType">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="25" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="OfficerResponsible" type="OfficerResponsible" />
			<xs:element name="FTEPosts" type="FTEPosts" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="Premise" type="Premise" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="MonitoringReturnsOfficer">
		<xs:sequence>
			<xs:group ref="OfficerDetails" />
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="HeadOfFoodServices">
		<xs:sequence>
			<xs:group ref="OfficerDetails" />
			<xs:element name="JobTitle">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="50" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:group ref="AddressDetails" />
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="LocalAuthority">
		<xs:sequence>
			<xs:element name="LocalAuthorityCode">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="5" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="LocalAuthorityName">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:minLength value="1" />
						<xs:maxLength value="100" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="FinancialYear" type="xs:nonNegativeInteger" />
			<xs:element name="HeadOfFoodServices" type="HeadOfFoodServices" />
			<xs:element name="MonitoringReturnsOfficer" type="MonitoringReturnsOfficer" />
			<xs:element name="Responsibility" type="Responsibility" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	<xs:element name="LAEMSData">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="LocalAuthority" type="LocalAuthority" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:group name="PremiseDetails">
		<xs:sequence>
			<xs:element name="Owner">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:maxLength value="100" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="Name">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:maxLength value="100" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:group ref="AddressDetails" />
		</xs:sequence>
	</xs:group>
	<xs:group name="AddressDetails">
		<xs:sequence>
			<xs:element name="Address">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:maxLength value="100" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="TownCity">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:maxLength value="50" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
			<xs:element name="Postcode">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:maxLength value="10" />
					</xs:restriction>
				</xs:simpleType> 
			</xs:element>
		</xs:sequence>
	</xs:group>
</xs:schema>