<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by Michael Wilz (Rechenzentrum der Finanzverwaltung NRW) -->
<!-- Version 9.15 -->
<xs:schema targetNamespace="http://www.elster.de/2002/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:elster="http://www.elster.de/2002/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="NutzdatenHeader" type="elster:NutzdatenHeaderCType"/>
	<xs:complexType name="NutzdatenHeaderCType">
		<xs:sequence>
			<xs:element name="NutzdatenTicket" type="elster:NutzdatenBlockTicketSType"/>
			<xs:element name="Empfaenger" type="elster:EmpfaengerCType"/>
			<xs:element name="SigUser" type="elster:SigUserCType" minOccurs="0"/>
			<xs:element name="Hersteller" type="elster:HerstellerCType"/>
			<xs:element name="DatenLieferant" type="elster:DatenLieferantSType"/>
			<xs:element name="RC" type="elster:RCCType" minOccurs="0"/>
			<xs:element name="Zusatz" type="elster:ZusatzCType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="version" type="elster:VersionSType" use="required"/>
	</xs:complexType>
	<!-- Definierung einfacher Elements________________________________________________________-->
	<!-- A -->
	<!-- B -->
	<!-- C -->
	<xs:simpleType name="CodeExternSType">
		<xs:annotation>
			<xs:documentation xml:lang="DE">Externer Fehlercode</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="CodeInternSType">
		<xs:annotation>
			<xs:documentation xml:lang="DE">Interner Fehlercode</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<!-- D -->
	<xs:simpleType name="DatenLieferantSType">
		<xs:annotation>
			<xs:documentation xml:lang="DE">Datenlieferant der Nutzdaten - Arbeitgeber selbst bzw. dessen Lohnbuchhhaltungsbüro / Steuerberater</xs:documentation>
			<xs:documentation xml:lang="DE">String der Lieferanteninformationen enthält ; Ansprechpartner mit Telephon. Email etc. Bei ESt: Steuerpflichtiger oder Steuerberater/Firma  (entfällt hier u.U. auch)Aufbau: Lieferant (Firma); Ansprechpartner; Telefon; E-Mail Addresse; Ort; PLZ; Strasse; Land;</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:maxLength value="256"/>
			<xs:minLength value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- E -->
	<xs:simpleType name="EmpfaengerSType">
		<xs:annotation>
			<xs:documentation xml:lang="DE">Bundeslandkürzel oder Finanzamtsnummer</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="elster:ndh_EmpfaengerLISTE elster:ndh_Zahl4LISTE"/>
	</xs:simpleType>
	<xs:simpleType name="ndh_EmpfaengerLISTE">
		<xs:list itemType="elster:BundeslandSType"/>
	</xs:simpleType>
	<xs:simpleType name="ndh_Zahl4LISTE">
		<xs:list itemType="elster:Zahl4"/>
	</xs:simpleType>
	<xs:simpleType name="EmpfaengerIDSType">
		<xs:annotation>
			<xs:documentation xml:lang="DE">
							Attribut, ob Länderschlüssel oder BundesFinanzamtsnummer
							L= Länderschlüssel (z.B. bei LStB.)
							F= BundesFinanzamtsnummer (z.B. bei ESt)
						</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:maxLength value="1"/>
			<xs:enumeration value="L"/>
			<xs:enumeration value="F"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- F -->
	<!-- G -->
	<!-- H -->
	<xs:simpleType name="HerstellerIDSType">
		<xs:restriction base="xs:string">
			<xs:pattern value="\d{5}"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- I -->
	<!-- J -->
	<!-- K -->
	<!-- L -->
	<!-- M -->
	<!-- N -->
	<!-- O -->
	<!-- P -->
	<!-- Q -->
	<!-- R -->
	<!-- S -->
	<xs:complexType name="SigSType" mixed="true">
		<xs:complexContent mixed="true">
			<xs:restriction base="xs:anyType">
				<xs:sequence>
					<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:simpleType name="SigPruefungSType">
		<xs:restriction base="xs:string">
			<xs:pattern value="\d{14}"/>
			<xs:pattern value="a?"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SigInternSType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<!-- T -->
	<!-- U -->
	<!-- V -->
	<!-- W -->
	<!-- X -->
	<!-- Y -->
	<!-- Z -->
	<!-- Definierung globaler complex Types __________________________________________________ -->
	<!-- A -->
	<!-- B -->
	<!-- C -->
	<!-- D -->
	<!-- E -->
	<xs:complexType name="EmpfaengerCType">
		<xs:annotation>
			<xs:documentation xml:lang="DE">Ob ein Empfänger ein Finanzamt oder ein Bundesland ist, ist vom Verfahren abhängig</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="elster:EmpfaengerSType">
				<xs:attribute name="id" type="elster:EmpfaengerIDSType" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- F -->
	<!-- G -->
	<!-- H -->
	<xs:complexType name="HerstellerCType">
		<xs:sequence>
			<xs:element name="ProduktName">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="50"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="ProduktVersion">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="50"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<!-- J -->
	<!-- K -->
	<!-- L -->
	<!-- M -->
	<!-- N -->
	<!-- O -->
	<!-- P -->
	<!-- Q -->
	<!-- R -->
	<xs:complexType name="RCCType">
		<xs:sequence minOccurs="0">
			<xs:sequence minOccurs="0">
				<xs:element name="SigIntern" type="elster:SigInternSType"/>
				<xs:element name="VerarbeitungsVersion" type="xs:string"/>
			</xs:sequence>
			<xs:element name="Rueckgabe">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Code" type="elster:CodeExternSType"/>
						<xs:element name="Text" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Stack">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Code" type="elster:CodeInternSType"/>
						<xs:element name="Text" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<!-- S -->
	<xs:complexType name="SigUserCType">
		<xs:sequence>
			<xs:element name="SigPruefung" type="elster:SigPruefungSType" minOccurs="0"/>
			<xs:element name="UserInfo" type="elster:UserInfoCType"/>
			<xs:element name="Sig" type="elster:SigSType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!-- T -->
	<!-- U -->
	<xs:complexType name="UserInfoCType">
		<xs:sequence>
			<xs:element name="User" type="elster:UserCType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="UserCType">
		<xs:sequence>
			<xs:element name="Vorname" type="xs:string" minOccurs="0"/>
			<xs:element name="Name" type="xs:string"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:positiveInteger" use="required"/>
	</xs:complexType>
	<!-- V -->
	<!-- W -->
	<!-- X -->
	<!-- Y -->
	<!-- Z -->
	<xs:complexType name="ZusatzCType">
		<xs:sequence>
			<xs:element name="Info" type="xs:string" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- Definierung globaler Gruppen _______________________________________________________ -->
	<!-- SigUserType-->
	<!-- UserType-->
</xs:schema>

