<?xml version="1.0" encoding="UTF-8"?>
<!-- Mit XMLSpy v2011 rel. 2 (x64) (http://www.altova.com) von STUZZA (STUZZA) bearbeitet -->
<!-- edited with XMLSpy v2015 sp2 (x64) (http://www.altova.com) by Helmut Biely (self employed) -->
<xs:schema xmlns="http://www.stuzza.at/MBS/V7.0.04/MTAN" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.stuzza.at/MBS/V7.0.04/MTAN" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<!--  *********************************************************************************-->
	<!--  ***  Änderung gegenüber Version  7.0.01                                      ***-->
	<!--  ***  o Versionsnummer und -datum                                                 ***-->
	<!--  *********************************************************************************-->
	<!--  ***  Änderung gegenüber Version  7.0.02                                     ***-->
	<!--  ***  o keine - ausschließlich Anpassung der Version auf 7.0.04  ***-->
	<!--  ********************************************************************************-->
	<xs:attribute name="versiondate" fixed="08.04.2016">
		<xs:annotation>
			<xs:documentation xml:lang="de">Versionsdatum dieses Schemas</xs:documentation>
		</xs:annotation>
	</xs:attribute>
	<xs:element name="Document" type="Document">
		<xs:annotation>
			<xs:documentation>Rootelement</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:simpleType name="AltRefType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="PIN"/>
			<xs:enumeration value="ebPIN"/>
			<xs:enumeration value="SOS"/>
			<xs:enumeration value="ZERT"/>
			<xs:enumeration value="DAU"/>
			<xs:enumeration value="ABB"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="BtchCtrType">
		<xs:restriction base="xs:positiveInteger">
			<xs:totalDigits value="5"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="Document">
		<xs:sequence>
			<xs:element name="mTANRequ" type="mTANRequType">
				<xs:annotation>
					<xs:documentation>mTAN Anforderungsnachricht
</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="DspsrMoblType">
		<xs:restriction base="Max35Text"/>
	</xs:simpleType>
	<xs:simpleType name="DspsrNbType">
		<xs:restriction base="Max17Text">
			<xs:pattern value="[A-Z0-9\-]*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="DspsrRefType">
		<xs:sequence>
			<xs:element name="DspsrNb" type="DspsrNbType">
				<xs:annotation>
					<xs:documentation>Nummer des anfordernden Verfügers</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="DspsrMobl" type="DspsrMoblType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Handynummer des Verfügers inkl. internationaler Vorwahl; es sind auch ausländische Nummern zugelassen. Ist die übermittelte Nummer nicht als zulässige Nummer dem anfordernden Verfüger zugeordnet, ist mit der negativen Statusantwort "Telefonnummer nicht zulässig" zu antworten. Wird keine Handynummer kodiert, so ist die SMS an die Default-Handynummer abzusetzen. Ist eine Default-Handynummer am BR nicht eingetragen, so ist mit der Statusnachricht "Telefonnummer nicht eindeutig" zu antworten.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DtlsType">
		<xs:sequence>
			<xs:element name="HashVal" type="HashValType">
				<xs:annotation>
					<xs:documentation>Hier ist der Hashwert über die jeweiligen Nachrichtendaten gemäß SHA-256  in hexadezimaler Darstellung (Zeichenvorrat: A bis F, 0 bis 9 – NUR Grossbuchstaben zulässig) einzustellen.  Die Darstellung in der SMS beschränkt sich dabei auf die letzten 10 Stellen. Diese sind in zwei fünfer-Gruppen im Style-Sheet anzuzeigen, sodass ein Vergleich mit der SMS-Nachricht durch den verfüger ermöglicht wird.
	
Der Wert ist im Fall von Aufträgen ident mit dem gleichnamigen Feld des EBZ.
	
Im Fall einer PIN-Änderungsnachricht ist der Hashwert gemäß Schema der MBS.PIN.Change.Message zu bilden.
	
Im Fall der Service Request Message ist der Hashwert gemäß Schema der MBS.Service.Requests für den Type T3 zu bilden.
					</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CtrlSum" type="SumType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Nur im Fall von Aufträgen zu kodieren. Ident mit dem gleichnamigen Feld des EBZ.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TtlNbOfTxs" type="TtlNbOfTxsType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Nur im Fall von Aufträgen zu kodieren. Ident mit dem gleichnamigen Feld des EBZ.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="EbzIdType">
		<xs:restriction base="xs:string">
			<xs:length value="16"/>
			<xs:pattern value="[A-Z0-9\-]*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="GrpHdrType">
		<xs:sequence>
			<xs:element name="MsgId" type="MsgIdType">
				<xs:annotation>
					<xs:documentation>Eindeutige Identifikation der Nachricht. Aufbau: Stellen 1 bis 16 Timestamp im Format  JJJJMMTTHHMMSShh, 4   Zufallszeichen zwingend, bis zu 15 weitere Zufallszeichen optional.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CreDtTm" type="ISODateTime">
				<xs:annotation>
					<xs:documentation>Erstellungszeitpunkt der Nachricht</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="HashValType">
		<xs:restriction base="xs:string">
			<xs:whiteSpace value="collapse"/>
			<xs:length value="64"/>
			<xs:pattern value="[A-F0-9]*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ISODateTime">
		<xs:restriction base="xs:dateTime"/>
	</xs:simpleType>
	<xs:simpleType name="Max17Text">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="17"/>
			<xs:whiteSpace value="collapse"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Max35Text">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="35"/>
			<xs:whiteSpace value="collapse"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="MsgBodyType">
		<xs:sequence>
			<xs:element name="BtchCtr" type="BtchCtrType">
				<xs:annotation>
					<xs:documentation>Laufende Nummer des Request mit 1 beginned, lückenlos aufsteigend.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Ref" type="RefType"/>
			<xs:element name="DspsrRef" type="DspsrRefType"/>
			<xs:element name="Dtls" type="DtlsType">
				<xs:annotation>
					<xs:documentation>Die Details beinhalten jene Elemente, mit denen die mTAN u.a. kryptografisch verknüpft ist, und die in der SMS dem Verfüger anzuzeigen sind.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="MsgIdType">
		<xs:restriction base="xs:string">
			<xs:minLength value="20"/>
			<xs:maxLength value="35"/>
			<xs:whiteSpace value="collapse"/>
			<xs:pattern value="2[0-9]{15}[A-Z0-9]{4,}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="mTANRequType">
		<xs:sequence>
			<xs:element name="GrpHdr" type="GrpHdrType"/>
			<xs:element name="MsgBody" type="MsgBodyType" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Ein oder mehrere mTAN Anforderungen.

</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RefType">
		<xs:choice>
			<xs:element name="EbzId" type="EbzIdType">
				<xs:annotation>
					<xs:documentation>Die Anforderung erfolgt auf einen, mittels EBZ-ID referenzierten EBZ. 

Dieser muss nicht notwendiger Weise am BR vor Absenden der SMS vorliegen, da die  kritischen Felder des EBZ, die in der SMS Nachricht anzuzeigen sind, in den 'Dtls' mit gelifert werden.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="AltRef">
				<xs:annotation>
					<xs:documentation>Alternative Referenz für PIN-Änderung und Zertifikatsfreischaltung mittels mTAN. Es werden die folgenden Möglichkeiten unterschieden:

o PIN 	es wird eine mTAN angefordert, um mit dieser eine erst an den BR abzusetzende PIN-Änderung zu autorisieren. Die an den Verfüger zu übertragende mTAN ist mit der Verfügernummer und der alten PIN am BR kryptografisch zu verknüpfen. Die Anforderung kann gemeinsam mit beliebigen Nachrichten in einer Session gemischt übertragen werden. Bis zur Übertragung der PIN-Änderungsnachricht und erfolgreicher Änderung behält die alte PIN ihre Gültigkeit.

o ebPIN wie oben, nur auf ebPIN bezogen.

o SOS	der Administrator/Benutzer hat sich selbst ausgesperrt und das PW des Benutzer soll auf den Initialwert zurückgesetzt werden. Die Kodierung von SOS darf nur an den Lizenzgeber (derzeit nur ELBA) abgesetzt werden. Andernfalls ist seitens des BR mit dem Status "Fehler im Datenaufbau" zu antworten.

o ZERT	es wird eine mTAN angefordert, um ein dem Verfüger zugehöriges Zertifikat frei zu schalten. Die an den Verfüger zu übertragende mTAN ist mit der Verfügernummer und dem Referenzcode am BR kryptografisch zu verknüpfen. Die Anforderung kann gemeinsam mit beliebigen Nachrichten in einer Session gemischt übertragen werden. 

o DAU mTAN wird für die Anlage oder Änderung eines Dauerauftrags benötigt

o ABB mTAN wird für die Anlage oder Änderung eines Abbuchungsauftrags benötigt
</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="AltRefType"/>
				</xs:simpleType>
			</xs:element>
		</xs:choice>
	</xs:complexType>
	<xs:simpleType name="SumType">
		<xs:restriction base="xs:decimal">
			<xs:totalDigits value="18"/>
			<xs:fractionDigits value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TtlNbOfTxsType">
		<xs:restriction base="xs:positiveInteger"/>
	</xs:simpleType>
</xs:schema>
