<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xs:element name="mondial">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="country" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="name" type="xs:string"/>
							<xs:element name="encompassed" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="continent" type="xs:string"/>
										<xs:element name="percentage" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="border" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="country" type="xs:string"/>
										<xs:element name="length" type="xs:string"/>
										<xs:element name="justice" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="ethnicgroups" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="percentage" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="religions" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="percentage" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="languages" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="percentage" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="province" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="city" minOccurs="0" maxOccurs="unbounded">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="name" type="xs:string"/>
													<xs:element name="population" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="year" type="xs:string"/>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<xs:element name="located_at" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="watertype" type="xs:string"/>
																<xs:element name="river" type="xs:string"/>
																<xs:element name="sea" type="xs:string"/>
																<xs:element name="lake" type="xs:string"/>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
													<xs:element name="id" type="xs:string"/>
													<xs:element name="is_country_cap" type="xs:string"/>
													<xs:element name="is_state_cap" type="xs:string"/>
													<xs:element name="longitude" type="xs:string"/>
													<xs:element name="latitude" type="xs:string"/>
													<xs:element name="country" type="xs:string"/>
													<xs:element name="province" type="xs:string"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="id" type="xs:string"/>
										<xs:element name="name" type="xs:string"/>
										<xs:element name="country" type="xs:string"/>
										<xs:element name="capital" type="xs:string"/>
										<xs:element name="area" type="xs:string"/>
										<xs:element name="population" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="car_code" type="xs:string"/>
							<xs:element name="capital" type="xs:string"/>
							<xs:element name="membership" type="xs:string"/>
							<xs:element name="id" type="xs:string"/>
							<xs:element name="datacode" type="xs:string"/>
							<xs:element name="continent" type="xs:string"/>
							<xs:element name="area" type="xs:string"/>
							<xs:element name="total_area" type="xs:string"/>
							<xs:element name="population" type="xs:string"/>
							<xs:element name="population_growth" type="xs:string"/>
							<xs:element name="infant_mortality" type="xs:string"/>
							<xs:element name="gdp_agri" type="xs:string"/>
							<xs:element name="gdp_ind" type="xs:string"/>
							<xs:element name="gdp_serv" type="xs:string"/>
							<xs:element name="gdp_total" type="xs:string"/>
							<xs:element name="inflation" type="xs:string"/>
							<xs:element name="indep_date" type="xs:string"/>
							<xs:element name="government" type="xs:string"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="continent" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="id" type="xs:string"/>
							<xs:element name="area" type="xs:string"/>
							<xs:element name="name" type="xs:string"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="organization" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="name" type="xs:string"/>
							<xs:element name="abbrev" type="xs:string"/>
							<xs:element name="established" type="xs:string" minOccurs="0"/>
							<xs:element name="members" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="type" type="xs:string"/>
										<xs:element name="country" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="id" type="xs:string"/>
							<xs:element name="seat" type="xs:string"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="desert" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="located" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="country" type="xs:string"/>
										<xs:element name="province" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="id" type="xs:string"/>
							<xs:element name="name" type="xs:string"/>
							<xs:element name="area" type="xs:string"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="mountain" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="located" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="country" type="xs:string"/>
										<xs:element name="province" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="id" type="xs:string"/>
							<xs:element name="name" type="xs:string"/>
							<xs:element name="height" type="xs:string"/>
							<xs:element name="longitude" type="xs:string"/>
							<xs:element name="latitude" type="xs:string"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="sea" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="located" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="country" type="xs:string"/>
										<xs:element name="province" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="id" type="xs:string"/>
							<xs:element name="name" type="xs:string"/>
							<xs:element name="depth" type="xs:string"/>
							<xs:element name="bordering" type="xs:string"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="lake" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="located" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="country" type="xs:string"/>
										<xs:element name="province" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="id" type="xs:string"/>
							<xs:element name="name" type="xs:string"/>
							<xs:element name="area" type="xs:string"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="river" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="to" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="type" type="xs:string"/>
										<xs:element name="water" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="located" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="country" type="xs:string"/>
										<xs:element name="province" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="id" type="xs:string"/>
							<xs:element name="name" type="xs:string"/>
							<xs:element name="length" type="xs:string"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="island" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="located" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="country" type="xs:string"/>
										<xs:element name="province" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="id" type="xs:string"/>
							<xs:element name="name" type="xs:string"/>
							<xs:element name="area" type="xs:string"/>
							<xs:element name="longitude" type="xs:string"/>
							<xs:element name="latitude" type="xs:string"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
		<xs:key name="k1">
			<xs:selector xpath="./country/province/city"/>
			<xs:field xpath="id"/>
		</xs:key>
		<xs:key name="k2">
			<xs:selector xpath="./country/province"/>
			<xs:field xpath="id"/>
		</xs:key>
		<xs:key name="k3">
			<xs:selector xpath="./country"/>
			<xs:field xpath="id"/>
		</xs:key>
		<xs:key name="k4">
			<xs:selector xpath="./continent"/>
			<xs:field xpath="id"/>
		</xs:key>
		<xs:key name="k5">
			<xs:selector xpath="./organization"/>
			<xs:field xpath="id"/>
		</xs:key>
		<xs:key name="k6">
			<xs:selector xpath="./mountain"/>
			<xs:field xpath="id"/>
		</xs:key>
		<xs:key name="k7">
			<xs:selector xpath="./sea"/>
			<xs:field xpath="id"/>
		</xs:key>
		<xs:key name="k8">
			<xs:selector xpath="./river"/>
			<xs:field xpath="id"/>
		</xs:key>
		<xs:key name="k9">
			<xs:selector xpath="./lake"/>
			<xs:field xpath="id"/>
		</xs:key>
		<xs:key name="k10">
			<xs:selector xpath="./desert"/>
			<xs:field xpath="id"/>
		</xs:key>
		<xs:key name="k11">
			<xs:selector xpath="./island"/>
			<xs:field xpath="id"/>
		</xs:key>
		<xs:keyref name="fk1" refer="k4">
			<xs:selector xpath="./country/encompassed"/>
			<xs:field xpath="continent"/>
		</xs:keyref>
		<xs:keyref name="fk2" refer="k3">
			<xs:selector xpath="./country/border"/>
			<xs:field xpath="country"/>
		</xs:keyref>
		<xs:keyref name="fk3" refer="k5">
			<xs:selector xpath="./country"/>
			<xs:field xpath="membership"/>
		</xs:keyref>
		<xs:keyref name="fk4" refer="k3">
			<xs:selector xpath="./organization/members"/>
			<xs:field xpath="country"/>
		</xs:keyref>
		<xs:keyref name="fk10" refer="k8">
			<xs:selector xpath="./country/province/city/located_at"/>
			<xs:field xpath="river"/>
		</xs:keyref>
		<xs:keyref name="fk11" refer="k7">
			<xs:selector xpath="./country/province/city/located_at"/>
			<xs:field xpath="sea"/>
		</xs:keyref>
		<xs:keyref name="fk12" refer="k9">
			<xs:selector xpath="./country/province/city/located_at"/>
			<xs:field xpath="lake"/>
		</xs:keyref>
		<xs:keyref name="fk13" refer="k3">
			<xs:selector xpath="./mountain/located"/>
			<xs:field xpath="country"/>
		</xs:keyref>
		<xs:keyref name="fk14" refer="k2">
			<xs:selector xpath="./mountain/located"/>
			<xs:field xpath="province"/>
		</xs:keyref>
		<xs:keyref name="fk15" refer="k3">
			<xs:selector xpath="./sea/located"/>
			<xs:field xpath="country"/>
		</xs:keyref>
		<xs:keyref name="fk16" refer="k2">
			<xs:selector xpath="./sea/located"/>
			<xs:field xpath="province"/>
		</xs:keyref>
		<xs:keyref name="fk17" refer="k3">
			<xs:selector xpath="./river/located"/>
			<xs:field xpath="country"/>
		</xs:keyref>
		<xs:keyref name="fk18" refer="k2">
			<xs:selector xpath="./river/located"/>
			<xs:field xpath="province"/>
		</xs:keyref>
		<xs:keyref name="fk19" refer="k3">
			<xs:selector xpath="./lake/located"/>
			<xs:field xpath="country"/>
		</xs:keyref>
		<xs:keyref name="fk20" refer="k2">
			<xs:selector xpath="./lake/located"/>
			<xs:field xpath="province"/>
		</xs:keyref>
		<xs:keyref name="fk21" refer="k3">
			<xs:selector xpath="./desert/located"/>
			<xs:field xpath="country"/>
		</xs:keyref>
		<xs:keyref name="fk22" refer="k2">
			<xs:selector xpath="./desert/located"/>
			<xs:field xpath="province"/>
		</xs:keyref>
		<xs:keyref name="fk23" refer="k3">
			<xs:selector xpath="./island/located"/>
			<xs:field xpath="country"/>
		</xs:keyref>
		<xs:keyref name="fk24" refer="k2">
			<xs:selector xpath="./island/located"/>
			<xs:field xpath="province"/>
		</xs:keyref>
		<!--xs:keyref name="fk5" refer="k3">
			<xs:selector xpath="./country/province/city"/>
			<xs:field xpath="country"/>
		</xs:keyref>
		<xs:keyref name="fk6" refer="k2">
			<xs:selector xpath="./country/province/city"/>
			<xs:field xpath="province"/>
		</xs:keyref>
		<xs:keyref name="fk7" refer="k3">
			<xs:selector xpath="./country/province"/>
			<xs:field xpath="country"/>
		</xs:keyref>
		<xs:keyref name="fk8" refer="k1">
			<xs:selector xpath="./country/province"/>
			<xs:field xpath="capital"/>
		</xs:keyref>
		<xs:keyref name="fk9" refer="k1">
			<xs:selector xpath="./country"/>
			<xs:field xpath="capital"/>
		</xs:keyref-->
	</xs:element>
</xs:schema>
