<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.0 U (http://www.xmlspy.com) by m (exim) -->
<schema targetNamespace="http://www.eximtechnologies.com/FIDX/schemas/namespaces/Envelope" xmlns:xm_env="http://www.eximtechnologies.com/FIDX/schemas/namespaces/Envelope" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified" version="1.0">
	<import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://ebxml.org/project_teams/transport/xmldsig-core-schema.xsd"/>
	<import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://ebxml.org/project_teams/transport/xlink.xsd"/>
	<import namespace="http://schemas.xmlsoap.org/soap/envelope/" schemaLocation="http://ebxml.org/project_teams/transport/envelope.xsd"/>
	<import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://ebxml.org/project_teams/transport/xml_lang.xsd"/>
	<element name="envelope">
		<annotation>
			<documentation>root element representating a soap message</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="Header">
					<annotation>
						<documentation>Soap header element..contains routing information, tracing information, acknowledgement etc</documentation>
						<documentation>Soap header element..contains routing information, tracing information, acknowledgement etc</documentation>
					</annotation>
					<complexType>
						<sequence>
							<element ref="xm_env:MessageHeader"/>
							<element ref="xm_env:TraceHeaderList" minOccurs="0"/>
							<element ref="xm_env:ErrorList" minOccurs="0"/>
							<element ref="xm_env:Acknowledgment" minOccurs="0"/>
							<element ref="xm_env:Via" minOccurs="0"/>
						</sequence>
					</complexType>
				</element>
				<element name="Body">
					<annotation>
						<documentation>Soap body element ..contains information about payload data, purpose of the message and reliable delivery mechanisms</documentation>
					</annotation>
					<complexType>
						<sequence>
							<element ref="xm_env:Manifest" minOccurs="0"/>
							<element ref="xm_env:StatusRequest" minOccurs="0"/>
							<element ref="xm_env:StatusResponse" minOccurs="0"/>
							<element ref="xm_env:DeliveryReceipt" minOccurs="0"/>
						</sequence>
					</complexType>
				</element>
			</sequence>
		</complexType>
	</element>
	<!-- MANIFEST -->
	<element name="Manifest">
		<annotation>
			<documentation>Optional element that points to any data present either in the Payload Container or elsewhere, e.g. on the web</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="xm_env:Reference" maxOccurs="unbounded"/>
			</sequence>
			<attribute ref="xm_env:id" use="optional"/>
			<attribute ref="xm_env:version"/>
			<attribute name="type" use="optional" default="Production">
				<simpleType>
					<restriction base="xm_env:non-empty-string">
						<enumeration value="Information"/>
						<enumeration value="Production"/>
						<enumeration value="Test"/>
					</restriction>
				</simpleType>
			</attribute>
		</complexType>
	</element>
	<element name="Reference">
		<annotation>
			<documentation>identifies data associated with the message either as the payload or remote resources accessible via a URL</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="xm_env:Schema" minOccurs="0" maxOccurs="unbounded"/>
				<element ref="xm_env:Description" minOccurs="0" maxOccurs="unbounded"/>
			</sequence>
			<attribute ref="xm_env:id" use="optional"/>
			<attribute ref="xlink:type" use="optional" fixed="simple"/>
			<attribute ref="xlink:href" use="required"/>
			<attribute ref="xlink:role" use="optional"/>
		</complexType>
	</element>
	<element name="Schema">
		<annotation>
			<documentation>This element identifies the schema or a DTD that identifies the item referenced in parent Reference element.  It provides a means of identifying the schema location and its version </documentation>
		</annotation>
		<complexType>
			<attribute name="location" type="anyURI" use="required"/>
			<attribute name="version" type="xm_env:non-empty-string"/>
		</complexType>
	</element>
	<!-- MESSAGEHEADER -->
	<element name="MessageHeader">
		<annotation>
			<documentation>A required element that contains routing information for the message (To/From) as well as other context information about the message</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="xm_env:From"/>
				<element ref="xm_env:To"/>
				<element ref="xm_env:CPAId" minOccurs="0"/>
				<element ref="xm_env:ConversationId"/>
				<element ref="xm_env:Service" minOccurs="0"/>
				<element ref="xm_env:Action" minOccurs="0"/>
				<element ref="xm_env:MessageData"/>
				<element ref="xm_env:QualityOfServiceInfo" minOccurs="0"/>
				<element ref="xm_env:Description" minOccurs="0" maxOccurs="unbounded"/>
				<element ref="xm_env:SequenceNumber" minOccurs="0"/>
			</sequence>
			<attribute ref="xm_env:id" use="optional"/>
			<attribute ref="xm_env:version"/>
			<attribute ref="soap:mustUnderstand" type="boolean" use="required" default="1"/>
			<anyAttribute namespace="http://www.w3.org/2000/10/XMLSchema-instance" processContents="lax"/>
		</complexType>
	</element>
	<element name="CPAId" type="xm_env:non-empty-string">
		<annotation>
			<documentation>identifies the parameters governing the exchange of messages between the parties eg.. transport method, credentials etc..</documentation>
		</annotation>
	</element>
	<element name="ConversationId" type="xm_env:non-empty-string">
		<annotation>
			<documentation>Required element is a string identifying the set of related messages that make up a conversation between two parties</documentation>
		</annotation>
	</element>
	<element name="Service">
		<annotation>
			<documentation>identifies the service that acts on the message and it is specified by the designer of the service eg.. urn:services:SupplierOrderProcessing</documentation>
		</annotation>
		<complexType>
			<simpleContent>
				<extension base="xm_env:non-empty-string">
					<attribute name="type" type="xm_env:non-empty-string" use="optional" default="URI"/>
				</extension>
			</simpleContent>
		</complexType>
	</element>
	<element name="Action" type="xm_env:non-empty-string">
		<annotation>
			<documentation>identifies a process within a service that processes the message eg.. NewOrder</documentation>
		</annotation>
	</element>
	<element name="MessageData">
		<annotation>
			<documentation>Required element that provides a means of uniquely identifying a message</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="xm_env:MessageId"/>
				<element ref="xm_env:Timestamp"/>
				<element ref="xm_env:RefToMessageId" minOccurs="0"/>
				<element ref="xm_env:TimeToLive" minOccurs="0"/>
			</sequence>
		</complexType>
	</element>
	<element name="MessageId" type="xm_env:non-empty-string">
		<annotation>
			<documentation>Required element that is a unique identifier for the message</documentation>
		</annotation>
	</element>
	<element name="TimeToLive" type="duration">
		<annotation>
			<documentation>Indicates the time by which a message should be delivered to and processed by the To Party</documentation>
		</annotation>
	</element>
	<!--
	<element name="TimeToLive" type="duration"/>
	-->
	<element name="QualityOfServiceInfo">
		<annotation>
			<documentation>Identifies the quality of service with which the message is delivered.  Attributes define the requirements</documentation>
		</annotation>
		<complexType>
			<attribute name="deliverySemantics" type="xm_env:deliverySemantics.type" use="optional" default="BestEffort"/>
			<attribute name="messageOrderSemantics" type="xm_env:messageOrderSemantics.type" use="optional" default="NotGuaranteed"/>
			<attribute name="deliveryReceiptRequested" type="xm_env:signedUnsigned.type" use="optional" default="None"/>
		</complexType>
	</element>
	<!-- TRACE HEADER LIST -->
	<element name="TraceHeaderList">
		<annotation>
			<documentation>Optional element containing entires that identify the Message Service Handlers that sent and should receive the message</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="xm_env:TraceHeader" maxOccurs="unbounded"/>
			</sequence>
			<attribute ref="xm_env:id" use="optional"/>
			<attribute ref="xm_env:version"/>
			<attribute ref="soap:mustUnderstand" use="required" default="0"/>
			<attribute ref="soap:actor" use="required" default="http://schemas.xmlsoap.org/soap/actor/next"/>
		</complexType>
	</element>
	<element name="TraceHeader">
		<annotation>
			<documentation>Contains information about a single transmission of a message between two instances of a MSH</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="xm_env:Sender"/>
				<element ref="xm_env:Receiver"/>
				<element ref="xm_env:Timestamp"/>
			</sequence>
			<attribute ref="xm_env:id"/>
		</complexType>
	</element>
	<element name="Sender" type="xm_env:senderReceiver.type">
		<annotation>
			<documentation>identifies the immediate sender of the message</documentation>
		</annotation>
	</element>
	<element name="Receiver" type="xm_env:senderReceiver.type">
		<annotation>
			<documentation>identifies the immediate receiver of the message</documentation>
		</annotation>
	</element>
	<element name="SequenceNumber">
		<annotation>
			<documentation>Indicates the sequence in which messages must be processed by a receiving MSH.  The sequence number is unique within the ConverstationID and a MSH.  It is set to zero on the first message and then incremented by one for each subsequent message sent.</documentation>
		</annotation>
		<complexType>
			<simpleContent>
				<extension base="positiveInteger">
					<attribute name="status" type="xm_env:sequenceNumberStatus.type" use="optional" default="Reset"/>
				</extension>
			</simpleContent>
		</complexType>
	</element>
	<!-- DELIVERY RECEIPT -->
	<element name="DeliveryReceipt">
		<annotation>
			<documentation>Optional element to inform the ultimate FROM Party that the message was received by the TO party</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="xm_env:Timestamp"/>
				<element ref="ds:Reference" minOccurs="0" maxOccurs="unbounded"/>
			</sequence>
			<attribute ref="xm_env:id" use="optional"/>
			<attribute ref="xm_env:version"/>
			<!-- <attribute name="signed" type="boolean"/> -->
		</complexType>
	</element>
	<!-- ACKNOWLEDGEMENT -->
	<element name="Acknowledgment">
		<annotation>
			<documentation>Optional element used by a receiving MSH to acknowledge to the sending MSH that a previous message has been received</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="xm_env:Timestamp"/>
				<element ref="xm_env:From" minOccurs="0"/>
				<element ref="ds:Reference" minOccurs="0" maxOccurs="unbounded"/>
			</sequence>
			<attribute ref="xm_env:id" use="optional"/>
			<attribute ref="xm_env:version"/>
			<attribute ref="soap:mustUnderstand" use="required" default="1"/>
			<attribute ref="soap:actor" use="required" fixed="http://schemas.xmlsoap.org/soap/actor/next"/>
		</complexType>
	</element>
	<!-- ERROR LIST -->
	<element name="ErrorList">
		<annotation>
			<documentation>Optional element that contains a list of the erros that are being reported against a previous message</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="xm_env:Error" maxOccurs="unbounded"/>
			</sequence>
			<attribute ref="xm_env:id"/>
			<attribute ref="xm_env:version"/>
			<attribute ref="soap:mustUnderstand" use="required" default="1"/>
			<attribute name="highestSeverity" type="xm_env:severity.type" use="optional" default="Warning"/>
		</complexType>
	</element>
	<element name="Error">
		<annotation>
			<documentation>Contains an error message</documentation>
		</annotation>
		<complexType>
			<simpleContent>
				<extension base="string">
					<attribute ref="xm_env:id" use="optional"/>
					<attribute name="codeContext" type="anyURI" use="required" default="http://www.ebxml.org/messageServiceErrors"/>
					<attribute name="errorCode" use="required">
						<simpleType>
							<restriction base="xm_env:non-empty-string">
								<enumeration value="ValueNotRecognized"/>
								<enumeration value="NotSupported"/>
								<enumeration value="Inconsistent"/>
								<enumeration value="OtherXml"/>
								<enumeration value="DeliveryFailure"/>
								<enumeration value="TimeToLiveExpired"/>
								<enumeration value="MimeProblem"/>
								<enumeration value="SecurityFailure"/>
								<enumeration value="Unknown"/>
							</restriction>
						</simpleType>
					</attribute>
					<attribute name="severity" type="xm_env:severity.type" use="required" default="Warning"/>
					<attribute name="location" type="xm_env:non-empty-string" use="optional"/>
					<attribute ref="xml:lang" use="optional"/>
				</extension>
			</simpleContent>
		</complexType>
	</element>
	<!-- STATUS RESPONSE -->
	<element name="StatusResponse">
		<annotation>
			<documentation>Optional element to respond to a request on the status of a message delivered previously</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="xm_env:RefToMessageId"/>
				<element ref="xm_env:Timestamp" minOccurs="0"/>
			</sequence>
			<attribute ref="xm_env:id" use="optional"/>
			<attribute ref="xm_env:version"/>
			<attribute name="messageStatus" type="xm_env:messageStatus.type" use="optional" default="Received"/>
		</complexType>
	</element>
	<!-- STATUS REQUEST -->
	<element name="StatusRequest">
		<annotation>
			<documentation>Optional element to identify a message whose status is being requested</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="xm_env:RefToMessageId"/>
			</sequence>
			<attribute ref="xm_env:id" use="optional"/>
			<attribute ref="xm_env:version"/>
		</complexType>
	</element>
	<!-- VIA  -->
	<element name="Via">
		<annotation>
			<documentation>Optional element used to convey information to the next  MSH</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="xm_env:CPAId" minOccurs="0"/>
				<element ref="xm_env:Service" minOccurs="0"/>
				<element ref="xm_env:Action" minOccurs="0"/>
			</sequence>
			<attribute ref="xm_env:id" use="optional"/>
			<attribute ref="xm_env:version"/>
			<attribute ref="soap:mustUnderstand" use="required" default="1"/>
			<attribute ref="soap:actor" use="required" fixed="http://schemas.xmlsoap.org/soap/actor/next"/>
			<attribute name="syncReply" type="boolean" use="optional" default="false"/>
			<attribute name="reliableMessagingMethod" type="xm_env:rmm.type" use="optional" default="ebXML"/>
			<attribute name="ackRequested" use="optional" default="None">
				<simpleType>
					<restriction base="string">
						<enumeration value="Signed"/>
						<enumeration value="Unsigned"/>
						<enumeration value="None"/>
					</restriction>
				</simpleType>
			</attribute>
		</complexType>
	</element>
	<!-- COMMON TYPES -->
	<complexType name="senderReceiver.type">
		<sequence>
			<element ref="xm_env:PartyId" maxOccurs="unbounded"/>
			<element name="Location" type="anyURI">
				<annotation>
					<documentation>Contains the URL of the Sender's/Receiver's message service handler.  Unless another URL is identified within the CPA or in MessageHeader the recepient of the message uses this URL to send or respond to a message</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<simpleType name="messageStatus.type">
		<restriction base="NMTOKEN">
			<enumeration value="UnAuthorized"/>
			<enumeration value="NotRecognized"/>
			<enumeration value="Received"/>
			<enumeration value="Processed"/>
			<enumeration value="Forwarded"/>
		</restriction>
	</simpleType>
	<simpleType name="sequenceNumberStatus.type">
		<restriction base="NMTOKEN">
			<enumeration value="Reset"/>
			<enumeration value="Continue"/>
		</restriction>
	</simpleType>
	<simpleType name="type.type">
		<restriction base="NMTOKEN">
			<enumeration value="DeliveryReceipt"/>
			<enumeration value="IntermediateAck"/>
		</restriction>
	</simpleType>
	<simpleType name="messageOrderSemantics.type">
		<restriction base="NMTOKEN">
			<enumeration value="Guaranteed"/>
			<enumeration value="NotGuaranteed"/>
		</restriction>
	</simpleType>
	<simpleType name="deliverySemantics.type">
		<restriction base="NMTOKEN">
			<enumeration value="OnceAndOnlyOnce"/>
			<enumeration value="BestEffort"/>
		</restriction>
	</simpleType>
	<simpleType name="non-empty-string">
		<restriction base="string">
			<minLength value="1"/>
		</restriction>
	</simpleType>
	<simpleType name="rmm.type">
		<restriction base="NMTOKEN">
			<enumeration value="ebXML"/>
			<enumeration value="Transport"/>
		</restriction>
	</simpleType>
	<simpleType name="signedUnsigned.type">
		<restriction base="NMTOKEN">
			<enumeration value="Signed"/>
			<enumeration value="UnSigned"/>
			<enumeration value="None"/>
		</restriction>
	</simpleType>
	<simpleType name="severity.type">
		<restriction base="NMTOKEN">
			<enumeration value="Warning"/>
			<enumeration value="Error"/>
		</restriction>
	</simpleType>
	<!-- COMMON ATTRIBUTES and ELEMENTS -->
	<attribute name="id" type="ID" form="unqualified"/>
	<attribute name="version" type="xm_env:non-empty-string" fixed="1.0"/>
	<element name="PartyId">
		<annotation>
			<documentation>Contailns logical identifiers such as DUNS number, physical location, email address etc.  If multiple PartyIds are specified, all memebers of the list identify the same organisation..useful when multiple intermediaries are involved.</documentation>
		</annotation>
		<complexType>
			<simpleContent>
				<extension base="xm_env:non-empty-string">
					<attribute name="type" use="optional" default="DUNS">
						<simpleType>
							<restriction base="xm_env:non-empty-string">
								<enumeration value="DUNS"/>
								<enumeration value="URI"/>
							</restriction>
						</simpleType>
					</attribute>
				</extension>
			</simpleContent>
		</complexType>
	</element>
	<element name="To">
		<annotation>
			<documentation>Required element identifies the end party that is the recepient of the message</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="xm_env:PartyId" maxOccurs="unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name="From">
		<annotation>
			<documentation>identifies the party that originated the message</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref="xm_env:PartyId" maxOccurs="unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name="Description">
		<annotation>
			<documentation>Provides a human readable description of the payload object being identified by the parent Reference element.</documentation>
		</annotation>
		<complexType>
			<simpleContent>
				<extension base="xm_env:non-empty-string">
					<attribute ref="xml:lang" use="required"/>
				</extension>
			</simpleContent>
		</complexType>
	</element>
	<element name="RefToMessageId" type="xm_env:non-empty-string">
		<annotation>
			<documentation>Contains the MessageId value of an earlier ebXML Message to which this message relates to in cases of error messages, acknowledgement messages, delivery receipts, and for status request or response messages.  In such situations, it is a required element</documentation>
		</annotation>
	</element>
	<element name="Timestamp" type="dateTime">
		<annotation>
			<documentation>Required timestamp indicates a value representing the time that the message header was created</documentation>
		</annotation>
	</element>
	<!--
	<element name="Timestamp" type="dateTime"/>
	-->
</schema>
