<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by SH (DIUF) -->
<!--**************************************************************************-->
<!--INTERNATIONAL DEVELOPMENT MARKUP LANGUAGE (IDML)  -->
<!--               CORE ACTIVITY SCHEMA  -->
<!--                   version 0.91-->
<!--                    Mai 2001-->
<!--              proposed by Mark Waser-->
<!--           edited by Stefan Huesemann -->
<!--        well formed and valid version version-->
<!--        last update 23.5.2002 by S. Huesemann-->
<!--**************************************************************************-->
<schema xmlns:idml="http://www.huesemann.org/XML/Schema/IDML/SimpleActivitySchema/IDML_091.xsd" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.huesemann.org/XML/Schema/IDML/SimpleActivitySchema/IDML_091.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.91">
	<!-- include files conation data types that restrict the values allowed for certain attributes and elements (corresponds to lookup tables)-->
	<include schemaLocation="../TYPELIBS/Currencies.xml"/>
	<include schemaLocation="../TYPELIBS/Countries.xml"/>
	<include schemaLocation="../TYPELIBS/Locations.xml"/>
	<include schemaLocation="../TYPELIBS/OrgRoles.xml"/>
	<include schemaLocation="../TYPELIBS/StatusCodes.xml"/>
	<include schemaLocation="../TYPELIBS/PersonRoles.xml"/>
	<include schemaLocation="../TYPELIBS/AssistCodes.xml"/>
	<include schemaLocation="../TYPELIBS/InfoStatusCodes.xml"/>
	<!-- root element activities contains one or more elements "activity"-->
	<element name="activities">
		<complexType>
			<sequence>
				<element name="activity" type="idml:activityType" maxOccurs="unbounded"/>
			</sequence>
		</complexType>
	</element>
	<!-- definition of element activity in "activityTypes"-->
	<complexType name="activityType">
		<annotation>
			<documentation>An activity represents the view of one party (attribute "origin") on a certain project. If other parties want to add information they create an own view and link it to the corresponding activity view with the element "anotherView"</documentation>
		</annotation>
		<sequence>
			<element name="ID" type="idml:IDType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="title" type="idml:textType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="location" type="idml:locationType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="startDate" type="idml:dateType" minOccurs="0"/>
			<element name="endDate" type="idml:dateType" minOccurs="0"/>
			<element name="status" type="idml:statusType" minOccurs="0"/>
			<element name="orgInvolved" type="idml:orgRole" minOccurs="0" maxOccurs="unbounded"/>
			<element name="funding" type="idml:fundingType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="personInvolved" type="idml:personRole" minOccurs="0" maxOccurs="unbounded"/>
			<element name="sector" type="idml:textType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="keyword" type="idml:textType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="abstract" type="idml:hyperTextType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="relatedLink" type="idml:docLinkType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="forMoreInfo" type="idml:hyperTextType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="note" type="idml:hyperTextType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="anotherView" type="idml:keyType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
		<attribute name="origin" type="unsignedLong" use="required"/>
		<attribute name="dbKey" type="unsignedLong" use="required"/>
		<attribute name="date" type="date" use="required"/>
	</complexType>
	<complexType name="IDType">
		<annotation>
			<documentation>Known IDs of a project (since a project can have several IDs in different organizations)</documentation>
		</annotation>
		<sequence>
			<element name="assigningOrg" type="idml:orgType"/>
			<element name="uniqID" type="string"/>
		</sequence>
		<attribute name="infoStatus" type="idml:infoStatusCodeType" use="optional"/>
	</complexType>
	<complexType name="keyType">
		<annotation>
			<documentation>Database keys of other views of the same activity or related activities.</documentation>
		</annotation>
		<simpleContent>
			<extension base="string">
				<attribute name="dbKey" type="unsignedLong" use="required"/>
				<attribute name="origin" type="unsignedLong" use="required"/>
				<attribute name="infoStatus" type="idml:infoStatusCodeType" use="optional"/>
			</extension>
		</simpleContent>
	</complexType>
	<complexType name="textType">
		<simpleContent>
			<extension base="string">
				<attribute name="lang" type="language" use="optional"/>
				<attribute name="translatedBy" type="unsignedLong" use="optional"/>
				<attribute name="infoStatus" type="idml:infoStatusCodeType" use="optional"/>
			</extension>
		</simpleContent>
	</complexType>
	<complexType name="dateType">
		<simpleContent>
			<extension base="string">
				<attribute name="date" type="date" use="optional"/>
				<attribute name="attributeAddedBy" type="unsignedLong" use="optional"/>
				<attribute name="infoStatus" type="idml:infoStatusCodeType" use="optional"/>
			</extension>
		</simpleContent>
	</complexType>
	<!-- import the type locationCode with enumerated values from file locations-->
	<complexType name="locationType">
		<simpleContent>
			<extension base="string">
				<attribute name="locationCode" type="idml:locationCodeType" use="optional"/>
				<attribute name="attributeAddedBy" type="unsignedLong" use="optional"/>
				<attribute name="infoStatus" type="idml:infoStatusCodeType" use="optional"/>
			</extension>
		</simpleContent>
	</complexType>
	<!-- import the type statusCode with enumerated values from file statusCodes-->
	<complexType name="statusType">
		<simpleContent>
			<extension base="string">
				<attribute name="statusCode" type="idml:statusCodeType" use="optional"/>
				<attribute name="attributeAddedBy" type="unsignedLong" use="optional"/>
				<attribute name="infoStatus" type="idml:infoStatusCodeType" use="optional"/>
			</extension>
		</simpleContent>
	</complexType>
	<!--organization and organization roles -->
	<complexType name="orgRole">
		<sequence>
			<element name="org" type="idml:orgType"/>
			<element name="role" type="idml:orgRoleType" minOccurs="0"/>
			<element name="startDate" type="idml:dateType" minOccurs="0"/>
			<element name="endDate" type="idml:dateType" minOccurs="0"/>
		</sequence>
		<attribute name="infoStatus" type="idml:infoStatusCodeType" use="optional"/>
	</complexType>
	<complexType name="orgType">
		<simpleContent>
			<extension base="string">
				<attribute name="dbKey" type="unsignedLong" use="optional"/>
				<attribute name="origin" type="unsignedLong" use="optional"/>
				<attribute name="attributeAddedBy" type="unsignedLong" use="optional"/>
			</extension>
		</simpleContent>
	</complexType>
	<!-- import the type orgRoleCode with enumerated values from file orgRoles -->
	<complexType name="orgRoleType">
		<simpleContent>
			<extension base="string">
				<attribute name="orgRoleCode" type="idml:orgRoleCodeType" use="optional"/>
				<attribute name="attributeAddedBy" type="unsignedLong" use="optional"/>
			</extension>
		</simpleContent>
	</complexType>
	<!--funding part-->
	<complexType name="fundingType" mixed="true">
		<sequence>
			<element name="fundingOrg" type="idml:orgType" minOccurs="0"/>
			<element name="termsAssist" type="idml:assistType" minOccurs="0"/>
			<element name="total" type="idml:moneyType" minOccurs="0"/>
			<element name="yearly" minOccurs="0" maxOccurs="unbounded">
				<complexType>
					<sequence>
						<element name="yearStarting" type="idml:dateType" minOccurs="0" maxOccurs="unbounded"/>
						<element name="amount" type="idml:moneyType" minOccurs="0" maxOccurs="unbounded"/>
					</sequence>
				</complexType>
			</element>
		</sequence>
		<attribute name="attributeAddedBy" type="unsignedLong" use="optional"/>
		<attribute name="infoStatus" type="idml:infoStatusCodeType" use="optional"/>
	</complexType>
	<!-- import the type assistCode with enumerated values from file assistCodes-->
	<complexType name="assistType">
		<simpleContent>
			<extension base="string">
				<attribute name="terms" type="idml:assistCodeType" use="optional"/>
				<attribute name="attributeAddedBy" type="unsignedLong" use="optional"/>
			</extension>
		</simpleContent>
	</complexType>
	<!-- import the type currencyCode with enumerated values from currencyCodes-->
	<complexType name="moneyType">
		<simpleContent>
			<extension base="string">
				<attribute name="amount" type="decimal" use="optional"/>
				<attribute name="currency" type="idml:currencyCodeType" use="optional"/>
				<attribute name="attributeAddedBy" type="unsignedLong" use="optional"/>
			</extension>
		</simpleContent>
	</complexType>
	<!--person part-->
	<complexType name="personRole">
		<sequence>
			<element name="person" type="idml:personType"/>
			<element name="role" type="idml:personRoleType" minOccurs="0"/>
			<element name="startDate" type="idml:dateType" minOccurs="0"/>
			<element name="endDate" type="idml:dateType" minOccurs="0"/>
		</sequence>
		<attribute name="attributeAddedBy" type="unsignedLong" use="optional"/>
		<attribute name="infoStatus" type="idml:infoStatusCodeType" use="optional"/>
	</complexType>
	<complexType name="personType">
		<simpleContent>
			<extension base="string">
				<attribute name="dbKey" type="unsignedLong" use="optional"/>
				<attribute name="origin" type="unsignedLong" use="optional"/>
				<attribute name="attributeAddedBy" type="unsignedLong" use="optional"/>
			</extension>
		</simpleContent>
	</complexType>
	<!-- import the type personRoleCodeType with enumerated values from personRoles-->
	<complexType name="personRoleType">
		<simpleContent>
			<extension base="string">
				<attribute name="personRoleCode" type="idml:personRoleCodeType" use="optional"/>
				<attribute name="attributeAddedBy" type="unsignedLong" use="optional"/>
			</extension>
		</simpleContent>
	</complexType>
	<!-- import the type allowedHTML with allowed HTML tags from file allowedHTML-->
	<complexType name="hyperTextType" mixed="true">
		<sequence>
			<any namespace="http://www.huesemann.org/XML/Schema/IDML//TypeLibs/AllowedHTML" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
		<attribute name="lang" type="language" use="optional"/>
		<attribute name="translatedBy" type="unsignedLong" use="optional"/>
		<attribute name="infoStatus" type="idml:infoStatusCodeType" use="optional"/>
	</complexType>
	<complexType name="docLinkType">
		<sequence>
			<element name="url" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
			<element name="lang" type="language" minOccurs="0" maxOccurs="unbounded"/>
			<element name="label" type="idml:textType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="shortDesc" type="idml:textType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>shortDesc is a SHORT description suitable for displaying next to the title in a web portal.</documentation>
				</annotation>
			</element>
		</sequence>
		<attribute name="dbKey" type="unsignedLong" use="optional"/>
		<attribute name="origin" type="unsignedLong" use="optional"/>
		<attribute name="infoStatus" type="idml:infoStatusCodeType" use="optional"/>
	</complexType>
	<!-- import the type infoStatusCode with enumerated values from file infoStatusCodes-->
	<complexType name="infoStatusType">
		<simpleContent>
			<extension base="string">
				<attribute name="infoStatusCode" type="idml:infoStatusCodeType"/>
			</extension>
		</simpleContent>
	</complexType>
</schema>

