<?xml version="1.0" encoding="ISO-8859-15"?>
<!-- Copyright (c) 2006 HPA (http://www.hafen-hamburg.de) -->
<!-- XSD-Version 2.0 / 16-Mar-2007 -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xsd:include schemaLocation="MessageEnvelope.xsd"/>
	<xsd:include schemaLocation="TD04_core_Subj.xsd"/>
	<xsd:element name="Document">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Metainfo" type="MetaInfoDef">
					<xsd:annotation>
						<xsd:documentation>In the TD04 interface only one recipient is used, i.e. only 2 or 3 participants can be specified for a transmission.</xsd:documentation>
						<xsd:documentation>The attribute Alias="HPA" is used for the participant code.</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element name="Messages">
					<xsd:complexType>
						<xsd:sequence maxOccurs="unbounded">
							<xsd:element name="Message" type="MessageDef"/>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="MessageDef">
		<xsd:annotation>
			<xsd:documentation>General Message definition</xsd:documentation>
			<xsd:documentation>Describes the contents of a message (metainfo and data)</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="MessageMetaInfo" type="MessageMetaInfoDef" minOccurs="0"/>
			<xsd:element name="Response" type="ResponseDef"/>
		</xsd:sequence>
		<xsd:attribute name="ReferenceNumber" use="required">
			<xsd:annotation>
				<xsd:documentation xml:lang="EN">uniqe reference number identifying a single message</xsd:documentation>
				<xsd:documentation xml:lang="DE">Nachrichten-Referenz</xsd:documentation>
			</xsd:annotation>
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:minLength value="1"/>
					<xsd:maxLength value="35"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="Status" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation xml:lang="EN">not used for TD04</xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="ResponseDef">
		<xsd:sequence>
			<xsd:element name="BusinessDocumentDetail" type="BusinessDocumentDef"/>
			<xsd:element name="MessageType">
				<xsd:annotation>
					<xsd:documentation>type of the original message</xsd:documentation>
					<xsd:documentation xml:lang="DE">Art der quittierten Nachricht, codiert</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:length value="2"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="GeneralResponseCode" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>qualifies the acceptance of the original message:</xsd:documentation>
					<xsd:documentation>"O"= o.k., message processed without comment</xsd:documentation>
					<xsd:documentation>"W"= warning, message processed, response contains warning messages</xsd:documentation>
					<xsd:documentation>"E"= error, message not processed, response contains error messages</xsd:documentation>
					<xsd:documentation xml:lang="DE">beschreibt die Verarbeitung der quittierten Nachricht:</xsd:documentation>
					<xsd:documentation xml:lang="DE">"O"= o.k., Nachricht verarbeitet ohne weitere Kommentare</xsd:documentation>
					<xsd:documentation xml:lang="DE">"W"= warning, Nachricht verarbeitet, Quittung enthält Warnungen</xsd:documentation>
					<xsd:documentation xml:lang="DE">"E"= error, Nachricht nicht verarbeitet, Quittung enthält Fehlerhinweise</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:enumeration value="O"/>
						<xsd:enumeration value="W"/>
						<xsd:enumeration value="E"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="DateTimes">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="DateTime" maxOccurs="2">
							<xsd:complexType>
								<xsd:simpleContent>
									<xsd:extension base="xsd:dateTime">
										<xsd:attribute name="type" use="required">
											<xsd:annotation>
												<xsd:documentation>creation,  receipt</xsd:documentation>
												<xsd:documentation xml:lang="DE">Zeitpunkt der Nachrichten-Erzeugung bzw. des Empfangs</xsd:documentation>
											</xsd:annotation>
											<xsd:simpleType>
												<xsd:restriction base="xsd:string">
													<xsd:enumeration value="creation"/>
													<xsd:enumeration value="receipt"/>
												</xsd:restriction>
											</xsd:simpleType>
										</xsd:attribute>
									</xsd:extension>
								</xsd:simpleContent>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Texts">
				<xsd:complexType>
					<xsd:sequence maxOccurs="unbounded">
						<xsd:element name="Text">
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="Code">
										<xsd:annotation>
											<xsd:documentation>Response Code, cf. code list in interface description</xsd:documentation>
											<xsd:documentation xml:lang="DE">Quittungscode, s. Schnittstellenbeschreibung</xsd:documentation>
										</xsd:annotation>
										<xsd:simpleType>
											<xsd:restriction base="xsd:string">
												<xsd:maxLength value="5"/>
											</xsd:restriction>
										</xsd:simpleType>
									</xsd:element>
									<xsd:element name="FreeText" minOccurs="0">
										<xsd:simpleType>
											<xsd:restriction base="xsd:string">
												<xsd:maxLength value="200"/>
											</xsd:restriction>
										</xsd:simpleType>
									</xsd:element>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>
