<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://ccn2.ec.eu/CCN2.Service.Platform.Common.Schema" xmlns:test1="http://ccn2.ec.eu/CCN2.Service.Platform.Common.Schema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ccn2.ec.eu/CCN2.Service.Platform.Common.Schema" elementFormDefault="qualified">
	<!--elements-->
	<xs:element name="MessageHeader" type="MessageHeaderType"/>
	<xs:element name="Fault" type="FaultType"/>
	<xs:element name="SequenceHeader" type="SequenceHeaderType"/>
	<!-- complex types -->
	<xs:complexType name="MessageHeaderType">
		<xs:annotation>
			<xs:documentation>About RequestCoA/CoD/CoE: It will identify if acknowledgement messages have to be sent back or not. It can be specified as "no acknowledgement", "initial acknowledgement" or "both acknowledgements". It is only applicable for asynchronous one-way communication. Please refer to §4.1.3.3.1 for the application of this field.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Version" type="VersionType" minOccurs="1"/>
			<xs:element name="CorrelationId" type="CorrelationIdType" minOccurs="0"/>
			<xs:element name="SendingDateAndTime" type="SendingDateAndTimeType" minOccurs="0"/>
			<xs:element name="MessageType" type="MessageTypeType" minOccurs="1"/>
			<xs:element name="MessageExpirationTimestamp" type="MessageExpirationTimestampType" minOccurs="0"/>
			<xs:element name="RequestCoD" type="xs:boolean" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="FaultType">
		<xs:sequence>
			<xs:element name="StatusCode" type="StatusCodeType" minOccurs="0"/>
			<xs:element name="FaultMessage" type="FaultMessageType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SequenceHeaderType">
		<xs:sequence>
			<xs:element name="SequenceId" type="SequenceIdType"/>
			<xs:element name="OrderId">
				<xs:simpleType>
					<xs:restriction base="xs:positiveInteger">
						<xs:maxInclusive value="1000"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="LastMessageFlag" type="xs:boolean" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>

	<!--simple types-->
	<xs:simpleType name="SequenceIdType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="60"/>
			<xs:pattern value="[a-zA-Z0-9\.\-:]*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="VersionType">

		<xs:restriction base="xs:string">
			<xs:pattern value="1\.0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SendingDateAndTimeType">
		<xs:restriction base="xs:dateTime"/>
	</xs:simpleType>
	<xs:simpleType name="MessageTypeType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="255"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="FaultMessageType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="8192"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="StatusCodeType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="8192"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="MessageExpirationTimestampType">
		<xs:restriction base="xs:dateTime"/>
	</xs:simpleType>
	<xs:simpleType name="CorrelationIdType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="255"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
