<?xml version="1.0" encoding="UTF-8"?>
<!--Authors: Dominik Heckmann and Christian Blass-->
<!--Document Version: UserML 2.1 vom 15. Oktober 2006 -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="report">
		<xs:annotation>
			<xs:documentation>version, service, size, date</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="reportType">
					<xs:attribute name="version" type="xs:anySimpleType"/>
					<xs:attribute name="service" type="xs:anySimpleType"/>
					<xs:attribute name="size" type="xs:nonNegativeInteger"/>
					<xs:attribute name="date" type="xs:dateTime"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="reportType">
		<xs:sequence minOccurs="0" maxOccurs="unbounded">
			<xs:element name="statement" type="statementType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="statementType">
		<xs:sequence>
			<xs:group ref="mainpart"/>
			<xs:group ref="situation"/>
			<xs:group ref="explanation"/>
			<xs:group ref="privacy"/>
			<xs:group ref="administration"/>
		</xs:sequence>
	</xs:complexType>
	<xs:group name="mainpart">
		<xs:all>
			<xs:element name="subject" type="xs:anySimpleType"/>
			<xs:element name="auxiliary" type="xs:anySimpleType"/>
			<xs:element name="predicate" type="xs:anySimpleType"/>
			<xs:element name="range" type="xs:anySimpleType"/>
			<xs:element name="object" type="xs:anyType"/>
		</xs:all>
	</xs:group>
	<xs:group name="situation">
		<xs:all>
			<xs:element name="start" type="xs:dateTime"/>
			<xs:element name="durability" type="xs:anySimpleType"/>
			<xs:element name="location" type="xs:anySimpleType"/>
			<xs:element name="position" type="xs:anySimpleType"/>	
			<xs:element name="context" type="xs:anySimpleType"/>
		</xs:all>
	</xs:group>
	<xs:group name="explanation">
		<xs:all>
			<xs:element name="source" type="xs:anySimpleType"/>
			<xs:element name="creator" type="xs:anySimpleType"/>
			<xs:element name="method" type="xs:anySimpleType"/>
			<xs:element name="evidence" type="xs:anySimpleType"/>
			<xs:element name="confidence" type="xs:anySimpleType"/>
		</xs:all>
	</xs:group>
	<xs:group name="privacy">
		<xs:all>
			<xs:element name="key" type="xs:string"/>
			<xs:element name="owner" type="xs:anySimpleType"/>
			<xs:element name="access" type="xs:anySimpleType"/>
			<xs:element name="purpose" type="xs:anySimpleType"/>
			<xs:element name="retention" type="xs:anySimpleType"/>
		</xs:all>
	</xs:group>
	<xs:group name="administration">
		<xs:all>
			<xs:element name="id" type="xs:nonNegativeInteger"/>
			<xs:element name="unique" type="xs:string"/>
			<xs:element name="replaces" type="xs:string"/>
			<xs:element name="group" type="xs:anySimpleType"/>
			<xs:element name="notes" type="xs:anySimpleType"/>
		</xs:all>
	</xs:group>
</xs:schema>
