<?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/TBZ" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.stuzza.at/MBS/V7.0.04/TBZ" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
	<!--********************************************************************************* -->
	<!-- ***    Erstversion                                                                           ***-->
	<!--********************************************************************************* -->
	<!-- ***     Änderungen 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:complexType name="CstmrNmType">
		<xs:sequence>
			<xs:element name="CpnyNm" type="Max35Text" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Kundenname bzw. Name der Firma oder des Nutzers</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Prsn" type="Max35Text">
				<xs:annotation>
					<xs:documentation>Die den EBZ erstellende Person</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Document">
		<xs:sequence>
			<xs:element name="MBS_Transport_Slip" type="MBS_Transport_SlipType">
				<xs:annotation>
					<xs:documentation>Transport-Begleitzettelfür Big Data  ZV

Für die Übetragung von Big Data Aufträgen ist ein elektronischer Transport-Begleitzettel, der den Hashwert die übermittelten Datei beinhaltet, zu bilden. Ein TBZ besteht  aus
o	einem GroupHeader,
o	einem TBZ-Headerteil (inklusive TBZ Identifikation),
o	und einer XMLDSIG für die Transportsicherung.
Der TBZ ist  je nach Situation und Setting der Attribute vom BR in ein oder mehrere EBZ umzuwandeln. D.h. die im TbzHdr stehenden Informationen sind in einn EbzHdr zu übertragen, ggf. dabei abzuändern und um die EbzSctns, EbzTrlr, StsRpt und DspsrTrsprt zu erweitern, sodass ein oder mehrere vollständige, gültige EBZ entstehen.

Diese  EBZ werden vom BR über Anforderung ("alle offenen", "hatte Rolle" mit der Nummer des transportsichernden Verfüger, oder falls nicht als zu splittender Zipfile übertragen, mittels EBZ-ID) dem Client zur Verfügung gestellt.
</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Dspsr">
		<xs:sequence>
			<xs:element name="DspsrNm">
				<xs:annotation>
					<xs:documentation>Name des zeichnenden Verfügers.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="Max35Text"/>
				</xs:simpleType>
			</xs:element>
			<xs:element name="DspsrNbr" type="DspsrNbrType">
				<xs:annotation>
					<xs:documentation>Zugehörige Verfügernummer </xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="DspsrNbrType">
		<xs:restriction base="Max17Text">
			<xs:pattern value="[A-Z0-9\-]*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="TbzHdrType">
		<xs:sequence>
			<xs:element name="CreDtTm" type="ISODateTime">
				<xs:annotation>
					<xs:documentation>Erstellungszeitpunkt des TBZ durch den Client/BR</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TbzId" type="TbzIdType">
				<xs:annotation>
					<xs:documentation>Die TBZ-ID ist vom TBZ erstellenden System als Zufallswert zu erzeugen. Sofern nur ein DT mittels TBZ an den BR übertagen wird oder der SpltInd nicht auf true gesetzt wurde, ist der Wert der TbzId in die EbzId zu übernehmen. Werden in einem Zipfile mehrere DT übertragen und sind diese auf mehrere EBZ zu splitten, sind die zugehörigen EbzId vom BR als Zufallszahl neu zu vergeben.

Idente TBZ-ID sind vom BR abzulehnen.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="HashVal" type="HashValType">
				<xs:annotation>
					<xs:documentation>Hashwert über  den gesamten Auftragsdatenträger gemäß SHA-256  in hexadezimaler Darstellung (Zeichenvorrat: A bis F, 0 bis 9 – NUR Grossbuchstaben zulässig). Im Fall eines Zipfiles ist der gesamte Zipfile zu hashen. 

Derselbe Hashwert soll auch im Rahmen des Client in gleicher Form als Prüfsumme ausgewiesen werden, so dass eine leichte Vergleichbarkeit durch den Anwender möglich ist. Die Darstellung hat dabei so zu erfolgen, dass eine eindeutige Zuordnung, worauf sich der Hashwert bezieht, dem Verfüger leicht möglich ist. Dies gilt insbesondere im Fall eines einzelnen DT, wenn dieser ungesplittet in einem EBZ übernommen werden soll und damit die Durchgängigkeit des Hashwertes auf Section Ebene gewährleistet ist.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="InstnNm" type="Max35Text">
				<xs:annotation>
					<xs:documentation>Name des Bankrechner</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="OrgSystm" type="Max35Text">
				<xs:annotation>
					<xs:documentation>Das System das die dem TBZ zugrundeliegenden DT an den BR liefert.

Inhalt: z.B. MBS Client-Name, sFileservice, EB Plattform, BusinessNet...</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CstmrNm" type="CstmrNmType">
				<xs:annotation>
					<xs:documentation>Kundenname bzw. Name der Firma oder des Nutzers.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="NoCpy" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Wenn auf true gesetzt, sind alle Datenträger des EBZ mit Kopierverbot belegt.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="NoOthrClnt" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Wenn auf true gesetzt, darf der EBZ durch den BR bei EBZ-Anfragen nicht an andere Clients als den Erstellenden übermittelt werden.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="ZipInd" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Ist die übertragenen Datei im Zip Format ist ZipInd azf true zu setzen</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="SpltInd" default="NO">
			<xs:annotation>
				<xs:documentation>Entält eine Anweisung an den BR ob und auf wlechem Level ein Splitting auf mehrere EBZ erfolgen soll. Es bedeutet:
  o NO (Default):  kein Splitting, es ist genau ein EBZ zu erstellen.
  o DOCUMENT (nur bei Zipfile sinnvoll): es ist je DT ein eigener EBZ zu erstellen,
  o BATCH: es ist je Bestand ein eigener EBZ zu erstellen.
  o OPTIMAL: das Splitting soll unter Berücksichtigung der Zeichnungserfordernisse erfolgen, so dass die Anzahl der nötigen EBZ geringstmöglich ist.
Wird DOCUMENT im Fall eines Einzel-DT kodiert wird der Indikator ignoriert.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="NO"/>
					<xs:enumeration value="DOCUMENT"/>
					<xs:enumeration value="BATCH"/>
					<xs:enumeration value="OPTIMAL"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="HashInd" type="xs:boolean" default="false">
			<xs:annotation>
				<xs:documentation>Wenn auf true gesetzt, hat der BR bei der Erstellung des(r) EBZ den HashVal Wert im SctnHdr zu kodieren.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="TbzIdType">
		<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 Messageidentifikation durch den Sender (Client). Die Messageidentifikation ist nicht Teil des TBZ. 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: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="Max35Text">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="35"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Max17Text">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="17"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="MBS_Transport_SlipType">
		<xs:sequence>
			<xs:element name="GrpHdr" type="GrpHdrType"/>
			<xs:element name="TBZHdr" type="TbzHdrType">
				<xs:annotation>
					<xs:documentation>Enthält zusätzlich zur MsgId und der XMLDsig alle erforderlichen Elemente eines TBZ und dient als Grundlge für die Erstellung der EBZHdr durch den BR. 

Das Lay-out entspricht dem des EBZHdr, wobei die für den TBZ spezifischen Attribute  ZipInd und SpltInd in den EBZHdr niocht eingehen.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="XMLDSig" minOccurs="1" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Anläßlich der Übertragung des TBZ vom Client an den BR  ist dieser mit einer XMLDsig durch den transportsichernden Verfüger zu signieren.

Die XMLDSig erstreckt sich ausschließlich auf den TBZHdr. Die Verfügerdaten sind anlässlich der EBZ-Erstellung durch den BR in DspsrTrsprt zu übernehmen, im Fall eines Splitting in jeden einzelnen EBZ.
</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="AddtlSgntrInf" type="SgntrInfType">
							<xs:annotation>
								<xs:documentation>Zusatzinformationen zur Signatur, diie mit zu signieren sind.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element ref="ds:Signature"/>
					</xs:sequence>
				</xs:complexType>
			</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="SgntrInfType">
		<xs:sequence>
			<xs:element name="Dspsr" type="Dspsr">
				<xs:annotation>
					<xs:documentation>Definiert den zeichnenden Verfüger.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SgntryType">
		<xs:sequence>
			<xs:element name="CreDtTm" type="ISODateTime"/>
			<xs:element name="Dspsr" type="Dspsr"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
