<?xml version="1.0" encoding="UTF-8"?>
<!-- Mit XMLSpy v2016 (http://www.altova.com) von Arne Tauber (TU Graz) bearbeitet -->
<xs:schema xmlns:tnvz="http://reference.e-government.gv.at/namespace/zustellung/tnvz/phase2/20181206#" xmlns:p="http://reference.e-government.gv.at/namespace/persondata/phase2/20181206#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msg="http://reference.e-government.gv.at/namespace/zustellung/msg/phase2/20181206#" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://reference.e-government.gv.at/namespace/zustellung/tnvz/phase2/20181206#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.2.0">
	<xs:import namespace="http://reference.e-government.gv.at/namespace/zustellung/msg/phase2/20181206#" schemaLocation="../zusemsg/zuse_p2.xsd"/>
	<xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/phase2/20181206#" schemaLocation="../zusemsg/zuse_mypersondata_en_p2.xsd"/>
	<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="../zusemsg/W3C-XMLDSig.xsd"/>
	<xs:import namespace="http://www.w3.org/2001/04/xmlenc#" schemaLocation="../zusemsg/xenc-schema.xsd"/>
	<!--******** Definition der  Request- und Response-Elemente  ********-->
	<!--****************** Abfrage der Webserviceversion *******************-->
	<xs:element name="GetVersionRequest" type="msg:SimpleRequestType"/>
	<xs:element name="GetVersionResponse">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Version">
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="2.2.0"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="GetInfoRequest" type="msg:SimpleRequestType"/>
	<xs:element name="GetInfoResponse">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Property" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Value" type="xs:token"/>
						</xs:sequence>
						<xs:attribute name="Name" type="xs:token" use="required"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--*************** Abfrage des Teilnehmerverzeichnisses **************-->
	<xs:element name="QueryPersonRequest">
		<xs:annotation>
			<xs:documentation>Suchabfrage</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="QueryEntryList">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="QueryEntry" type="tnvz:PersonQueryType" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Abfrageeintrag: Pro Request kann nach ein oder mehreren Personen gesucht werden</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="QueryPersonResponse">
		<xs:complexType>
			<xs:choice>
				<xs:element name="QueryResultList">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="QueryResult" type="tnvz:PersonResultType" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element ref="tnvz:Error"/>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<!--*** Abfrage der Adressierbarkeit eines Teilnehmers durch ein Zustellsystem ***-->
	<xs:element name="QueryAddressabilityRequest">
		<xs:annotation>
			<xs:documentation>Erreichbarkeitsabfrage</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="QueryEntryList">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="QueryEntry" type="tnvz:AddressabilityQueryType" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="QueryAddressabilityResponse">
		<xs:complexType>
			<xs:choice>
				<xs:element name="QueryResultList">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="QueryResult" type="tnvz:AddressabilityResultType" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element ref="tnvz:Error"/>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<!--********************************* Query Person  ************************************ -->
	<xs:element name="PersonQuery" type="tnvz:PersonQueryType">
		<xs:annotation>
			<xs:documentation>Abfrageeintrag: Pro Request können 1 oder mehrere Personen abgefragt werden</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="PersonQueryType">
		<xs:sequence>
			<xs:element ref="tnvz:Sender"/>
			<xs:element ref="tnvz:Receiver"/>
			<xs:element name="MetaData">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="msg:Origin">
							<xs:annotation>
								<xs:documentation>Kommunikationssystem der Behörde oder Zustelldienst über den die Nachricht übermittelt werden soll.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:choice>
							<xs:element ref="msg:DeliveryQuality"/>
							<xs:element ref="msg:PrivateMessageQuality"/>
						</xs:choice>
						<xs:element ref="msg:PreAdviceNote" minOccurs="0"/>
						<xs:element ref="msg:IgnorePostRedirectionOrder" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="EntryID" type="msg:token256" use="required"/>
	</xs:complexType>
	<xs:element name="PersonResult" type="tnvz:PersonResultType"/>
	<xs:complexType name="PersonResultType">
		<xs:annotation>
			<xs:documentation>attribute: EntryID</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="Success" type="tnvz:PersonResultSuccessType"/>
			<xs:element name="Error">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="msg:ErrorInfo"/>
						<xs:element ref="msg:PreAdviceNoteSent" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:choice>
		<xs:attribute name="EntryID" type="msg:token256" use="required"/>
	</xs:complexType>
	<xs:complexType name="PersonResultSuccessType">
		<xs:sequence>
			<xs:element ref="p:Identification"/>
			<xs:element ref="tnvz:MimeTypeList" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!--*************************** Query Addressability **************************-->
	<xs:element name="AddressabilityQuery" type="tnvz:AddressabilityQueryType">
		<xs:annotation>
			<xs:documentation>attribute: ID</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="AddressabilityQueryType">
		<xs:sequence>
			<xs:element ref="tnvz:Sender"/>
			<xs:element ref="tnvz:Receiver"/>
			<xs:element name="MetaData">
				<xs:annotation>
					<xs:documentation>Metadaten der Erreichbarkeitsabfrage</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="msg:Origin">
							<xs:annotation>
								<xs:documentation>Zustellsystem über das die Nachricht übermittelt wird.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element ref="msg:ZSDeliveryID"/>
						<xs:choice>
							<xs:element ref="msg:DeliveryQuality"/>
							<xs:element ref="msg:PrivateMessageQuality"/>
						</xs:choice>
						<xs:element ref="msg:PreAdviceNote" minOccurs="0"/>
						<xs:element ref="msg:IgnorePostRedirectionOrder" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="EntryID" type="msg:token256" use="required"/>
	</xs:complexType>
	<xs:element name="AddressabilityResult" type="tnvz:AddressabilityResultType"/>
	<xs:complexType name="AddressabilityResultType">
		<xs:annotation>
			<xs:documentation>attribute: EntryID</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="Success" type="tnvz:AddressabilityResultSuccessType"/>
			<xs:element name="Error">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="msg:ErrorInfo"/>
						<xs:element ref="msg:PreAdviceNoteSent" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:choice>
		<xs:attribute name="EntryID" type="msg:token256" use="required"/>
	</xs:complexType>
	<xs:complexType name="AddressabilityResultSuccessType">
		<xs:complexContent>
			<xs:extension base="tnvz:PersonResultSuccessType">
				<xs:sequence>
					<xs:element ref="tnvz:EncryptedZUSEToken"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!--****************** Definition der Datenelemente und - typen  ***************-->
	<xs:element name="Sender">
		<xs:annotation>
			<xs:documentation>Informationen zur versendenden Behörde</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="p:Identification"/>
				<xs:element ref="p:Person"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Receiver">
		<xs:annotation>
			<xs:documentation>Informationen zum Empfänger</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:choice>
				<xs:element ref="p:Identification"/>
				<xs:sequence>
					<xs:element ref="p:Person"/>
					<xs:element ref="tnvz:AustrianAddressesOnly" minOccurs="0"/>
					<xs:element ref="msg:NotificationAddressList" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Ein oder mehrere Verständigungsadressen mit deren Hilfe der Empfänger eindeutig bestimmt werden soll</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element ref="p:PostalAddress" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Postal or ZMR Address, compare PostAdresse (Dient in diesem Fall rein zur eindeutigen Bestimmung eines Empfängers)</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<xs:element name="AustrianAddressesOnly" type="msg:IndicatorType">
		<xs:annotation>
			<xs:documentation>Die Existenz des Elements zeigt an,  dass die gesuchte Person in Österreich gemeldet sein muss</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="MimeTypeList">
		<xs:annotation>
			<xs:documentation>Liste der Dateiformate, die vom Empfänger neben den üblichen Formaten unterstützt werden </xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="msg:MimeType" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="EncryptedZUSEToken">
		<xs:annotation>
			<xs:documentation>Inhalt des verschlüsselten ZUSETokens:
• Zeitpunkt
• Versender (bPK/Stammzahl)
• Empfänger (bPK/Stammzahl)
• ZSDeliveryID
• Origin
• DeliveryQuality oder PrivateMessageQuality</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="xenc:EncryptedData">
					<xs:annotation>
						<xs:documentation>Verschlüsseltes Element 'tnvz:ZUSEToken'</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Error" type="msg:ErrorInfoType">
		<xs:annotation>
			<xs:documentation>Fehlermeldung</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Property">
		<xs:annotation>
			<xs:documentation>Systemeigenschaft des TNVZ wie beispielsweise die maximale Anzahl von GetEntries</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Value" type="xs:token"/>
			</xs:sequence>
			<xs:attribute name="Name" type="xs:token" use="required"/>
		</xs:complexType>
	</xs:element>
</xs:schema>