<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://nexus.informatik.uni-stuttgart.de/Notification" xmlns:nol="http://nexus.informatik.uni-stuttgart.de/NOL" xmlns:notify="http://nexus.informatik.uni-stuttgart.de/EventNotificationLanguage" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<xsd:import namespace="http://nexus.informatik.uni-stuttgart.de/NOL" schemaLocation="http://nexus.informatik.uni-stuttgart.de/NOL.xsd"/>
	<xsd:annotation>
		<xsd:documentation xml:lang="en">
		Schema defining notification messages for the Nexus 
		Event Service. 
	</xsd:documentation>
	</xsd:annotation>
	<xsd:simpleType name="NOL">
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="nexus://(.*(:.*)?@)?.*(:[1-9][0-9]{0,3})?/(.*|0x([0-9]|[A-F]|[a-f]){32}|\.home)/(.*|0x([0-9]|[A-F]|[a-f]){32})"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:element name="notification" type="notify:NotificationType"/>
	<xsd:complexType name="NotificationType">
		<xsd:sequence>
			<xsd:element name="id" type="notify:NOL"/>
			<xsd:element name="predicateId" type="notify:NOL"/>
			<xsd:element name="templateId" type="notify:NOL"/>
			<xsd:element name="name" type="xsd:string"/>
			<xsd:element name="service" type="xsd:string"/>
			<xsd:element name="server" type="xsd:string"/>
			<xsd:element name="counter" type="xsd:unsignedLong"/>
			<xsd:element name="scope" type="xsd:dateTime"/>
			<xsd:element name="timestamp" type="xsd:dateTime"/>
			<xsd:element name="comment" type="xsd:string" minOccurs="0"/>
			<xsd:element name="variableList" type="notify:VariableListType"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="VariableListType">
		<xsd:sequence>
			<xsd:element name="variable" minOccurs="0" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="name" type="xsd:string"/>
						<xsd:element name="type" type="xsd:string"/>
						<xsd:element name="restriction" type="xsd:string" minOccurs="0"/>
						<xsd:element name="value" type="xsd:string"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>
