<?xml version = "1.0" encoding = "UTF-8"?>
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
	<xsd:element name = "DomainConfiguration">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "Broker"/>
				<xsd:element ref = "ClientList"/>
			</xsd:sequence>
			<xsd:attribute name = "domainName" use = "required" type = "xsd:string"/>
			<xsd:attribute name = "dateTime" use = "required" type = "xsd:dateTime"/>
			<xsd:attribute name = "author" use = "required" type = "xsd:string"/>
			<xsd:attribute name = "comments" use = "required" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Client">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "PublishList"/>
				<xsd:element ref = "ReceiveList"/>
				<xsd:element ref = "SubscriptionList"/>
			</xsd:sequence>
			<xsd:attribute name = "clientName" use = "required" type = "xsd:anyURI"/>
			<xsd:attribute name = "queueSize" use = "required" type = "xsd:integer"/>
			<xsd:attribute name = "queueFullOperation" use = "required">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:string">
						<xsd:enumeration value = "STOP"/>
						<xsd:enumeration value = "ERASE"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "SubscriptionList">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "Publisher" minOccurs = "0" maxOccurs = "unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "PublishList">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "MessageSchema" minOccurs = "0" maxOccurs = "unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "ReceiveList">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "Sender" minOccurs = "0" maxOccurs = "unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Publisher">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "MessageSchema" maxOccurs = "unbounded"/>
			</xsd:sequence>
			<xsd:attribute name = "publisherName" use = "required" type = "xsd:anyURI"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "MessageSchema" type = "xsd:anyURI"/>
	<xsd:element name = "ClientList">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "Client" maxOccurs = "unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Broker">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "PublishList"/>
			</xsd:sequence>
			<xsd:attribute name = "brokerName" use = "required" type = "xsd:anyURI"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Sender">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "MessageSchema" maxOccurs = "unbounded"/>
			</xsd:sequence>
			<xsd:attribute name = "senderName" use = "required" type = "xsd:anyURI"/>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>
