<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by Klaus Schild (Freie Universität Berlin) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="Institute">
		<xs:complexType>
			<xs:all>
				<xs:element name="Cities">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="City" type="CityType" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Addresses">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Address" type="AddressType" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Employees">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Employee" type="EmployeeType" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Projects" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Project" type="ProjectType" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="EmployeesInProjects" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="EmployeesInProject" type="EmployeesInProjectType" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="WorkingGroups">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="WorkingGroup" type="WorkingGroupType" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:all>
		</xs:complexType>
		<xs:key name="CityKey">
			<xs:selector xpath="*/City"/>
			<xs:field xpath="Zipcode"/>
		</xs:key>
		<xs:key name="AddrKey">
			<xs:selector xpath="*/Address"/>
			<xs:field xpath="AddrId"/>
		</xs:key>
		<xs:keyref name="CityKeyref" refer="CityKey">
			<xs:selector xpath="*/Address"/>
			<xs:field xpath="City"/>
		</xs:keyref>
		<xs:key name="EmployeeKey">
			<xs:selector xpath="*/Employee"/>
			<xs:field xpath="FirstName"/>
			<xs:field xpath="FamiliyName"/>
		</xs:key>
		<xs:keyref name="WorkAddKeyRef" refer="AddrKey">
			<xs:selector xpath="*/Employee"/>
			<xs:field xpath="WorkAddress"/>
		</xs:keyref>
		<xs:keyref name="PrivateAddKeyRef" refer="AddrKey">
			<xs:selector xpath="*/Employee"/>
			<xs:field xpath="PrivateAddress"/>
		</xs:keyref>
		<xs:keyref name="WorkingGroupKeyRef" refer="WorkingGroupKey">
			<xs:selector xpath="*/Employee"/>
			<xs:field xpath="WorkingGroup"/>
		</xs:keyref>
		<xs:key name="ProjectKey">
			<xs:selector xpath="*/Project"/>
			<xs:field xpath="Name"/>
		</xs:key>
		<xs:keyref name="ProjectWorkingGroupKeyRef" refer="WorkingGroupKey">
			<xs:selector xpath="*/Project"/>
			<xs:field xpath="WorkingGroup"/>
		</xs:keyref>
		<xs:key name="WorkingGroupKey">
			<xs:selector xpath="*/WorkingGroup"/>
			<xs:field xpath="Name"/>
		</xs:key>
		<xs:keyref name="WorkingGroupAddressKeyRef" refer="AddrKey">
			<xs:selector xpath="*/WorkingGroup"/>
			<xs:field xpath="Address"/>
		</xs:keyref>
		<xs:key name="EmployeeWGAssignment">
			<xs:selector xpath="*/Employee"/>
			<xs:field xpath="FirstName"/>
			<xs:field xpath="FamiliyName"/>
			<xs:field xpath="WorkingGroup"/>
		</xs:key>
		<xs:keyref name="EmployeeWGAssCheck" refer="EmployeeWGAssignment">
			<xs:selector xpath="*/EmployeesInProject"/>
			<xs:field xpath="EmpFirstName"/>
			<xs:field xpath="EmpFamiliyName"/>
			<xs:field xpath="WorkingGroup"/>
		</xs:keyref>
		<xs:key name="WGAddrAssingment">
			<xs:selector xpath="*/WorkingGroup"/>
			<xs:field xpath="Name"/>
			<xs:field xpath="Address"/>
		</xs:key>
		<xs:keyref name="WGAddrAssCheck" refer="WGAddrAssingment">
			<xs:selector xpath="*/Employee"/>
			<xs:field xpath="WorkingGroup"/>
			<xs:field xpath="WorkAddress"/>
		</xs:keyref>
		<xs:key name="ProjectWGAssignment">
			<xs:selector xpath="*/Project"/>
			<xs:field xpath="Name"/>
			<xs:field xpath="WorkingGroup"/>
		</xs:key>
		<xs:keyref name="ProjectWGAssCheck" refer="ProjectWGAssignment">
			<xs:selector xpath="*/EmployeesInProject"/>
			<xs:field xpath="Project"/>
			<xs:field xpath="WorkingGroup"/>
		</xs:keyref>
	</xs:element>
	<xs:complexType name="CityType">
		<xs:all>
			<xs:element name="Zipcode" type="xs:unsignedInt"/>
			<xs:element name="Name" type="xs:string"/>
		</xs:all>
	</xs:complexType>
	<xs:complexType name="AddressType">
		<xs:all>
			<xs:element name="AddrId" type="xs:int"/>
			<xs:element name="Street" type="xs:string"/>
			<xs:element name="Housenumber" type="xs:unsignedInt"/>
			<xs:element name="City" type="xs:unsignedInt"/>
			<xs:element name="Email" type="xs:string" minOccurs="0"/>
			<xs:element name="Phone" type="xs:string" minOccurs="0"/>
		</xs:all>
	</xs:complexType>
	<xs:complexType name="EmployeeType">
		<xs:all>
			<xs:element name="FirstName" type="xs:string"/>
			<xs:element name="FamiliyName" type="xs:string"/>
			<xs:element name="WorkAddress" type="xs:int"/>
			<xs:element name="PrivateAddress" type="xs:int"/>
			<xs:element name="WorkingGroup" type="xs:string"/>
		</xs:all>
	</xs:complexType>
	<xs:complexType name="ProjectType">
		<xs:all>
			<xs:element name="Name" type="xs:string"/>
			<xs:element name="Description" type="xs:string"/>
			<xs:element name="WorkingGroup" type="xs:string"/>
		</xs:all>
	</xs:complexType>
	<xs:complexType name="EmployeesInProjectType">
		<xs:all>
			<xs:element name="EmpFirstName" type="xs:string"/>
			<xs:element name="EmpFamiliyName" type="xs:string"/>
			<xs:element name="Project" type="xs:string"/>
			<xs:element name="WorkingGroup" type="xs:string"/>
		</xs:all>
	</xs:complexType>
	<xs:complexType name="WorkingGroupType">
		<xs:all>
			<xs:element name="Name" type="xs:string"/>
			<xs:element name="Address" type="xs:int"/>
		</xs:all>
	</xs:complexType>
</xs:schema>

