<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="AbschliessendeFestsetzung" type="AbschliessendeFestsetzungTAXATyp"/>
  <xs:complexType name="AbschliessendeFestsetzungTAXATyp">
    <xs:complexContent>
      <xs:extension base="DatenaustauschFreierVerkehrTyp">
        <xs:sequence>
          <xs:element name="EinzelAbschliessendeFestsetzung" type="EinzelAbschliessendeFestsetzungTyp" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="an..1">
    <xs:restriction base="xs:string">
      <xs:maxLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..10">
    <xs:restriction base="xs:string">
      <xs:maxLength value="10"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..100">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..11">
    <xs:restriction base="xs:string">
      <xs:maxLength value="11"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..120">
    <xs:restriction base="xs:string">
      <xs:maxLength value="120"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..17">
    <xs:restriction base="xs:string">
      <xs:maxLength value="17"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..2">
    <xs:restriction base="xs:string">
      <xs:maxLength value="2"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..20">
    <xs:restriction base="xs:string">
      <xs:maxLength value="20"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..2000">
    <xs:restriction base="xs:string">
      <xs:maxLength value="2000"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..21">
    <xs:restriction base="xs:string">
      <xs:maxLength value="21"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..256">
    <xs:restriction base="xs:string">
      <xs:maxLength value="256"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..3">
    <xs:restriction base="xs:string">
      <xs:maxLength value="3"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..30">
    <xs:restriction base="xs:string">
      <xs:maxLength value="30"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..31">
    <xs:restriction base="xs:string">
      <xs:maxLength value="31"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..34">
    <xs:restriction base="xs:string">
      <xs:maxLength value="34"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..35">
    <xs:restriction base="xs:string">
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..6">
    <xs:restriction base="xs:string">
      <xs:maxLength value="6"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..9">
    <xs:restriction base="xs:string">
      <xs:maxLength value="9"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DatenaustauschFreierVerkehrTyp">
    <xs:sequence>
      <xs:element name="Transaktion" type="TransaktionFreierVerkehrTyp"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EinzelAbschliessendeFestsetzungTyp">
    <xs:sequence>
      <xs:element name="ObjektIdentifizierung" type="ObjektIdentifizierungTAXATyp" minOccurs="0"/>
      <xs:element name="KopfDaten" type="KopfDatenAbschliessendeFestsetzungTyp" minOccurs="0"/>
      <xs:element name="Position" type="PositionAbschliessendeFestsetzungTyp" minOccurs="0" maxOccurs="99"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="KopfDatenAbschliessendeFestsetzungTyp">
    <xs:sequence>
      <xs:element name="WaehrungKz" type="an..3" minOccurs="0"/>
      <xs:element name="RechtsbehelfKz" type="an..1" minOccurs="0"/>
      <xs:element name="GesamtschuldnerschaftKz" type="an..1" minOccurs="0"/>
      <xs:element name="UmsatzsteuerIDNr" type="an..20" minOccurs="0"/>
      <xs:element name="RegistrierNr" type="an..21" minOccurs="0"/>
      <xs:element name="NIZZARegistrierKz" type="an..31" minOccurs="0"/>
      <xs:element name="FreizugebeneSicherheitEUR" type="n11.2" minOccurs="0"/>
      <xs:element name="AuszahlungArt" type="an..1" minOccurs="0"/>
      <xs:element name="FreigegebeneSicherheitGesamt" type="n11.2" minOccurs="0"/>
      <xs:element name="FreigabeSicherheitKz" type="an..1" minOccurs="0"/>
      <xs:element name="FreigabeSicherheitArt" type="an..1" minOccurs="0"/>
      <xs:element name="SonstigeMitteilung" type="an..2000" minOccurs="0"/>
      <xs:element name="Bearbeiter" type="an..30" minOccurs="0"/>
      <xs:element name="RechtsbehelfHZABezeichung" type="an..120" minOccurs="0"/>
      <xs:element name="RechtsbehelfHZAEmailAdresse" type="an..256" minOccurs="0"/>
      <xs:element name="RechtsbehelfHZADEmailAdresse" type="an..256" minOccurs="0"/>
      <xs:element name="RechtsbehelfHZAStrasseHausNr" type="an..30" minOccurs="0"/>
      <xs:element name="RechtsbehelfHZAPLZS" type="an..6" minOccurs="0"/>
      <xs:element name="RechtsbehelfHZAOrtS" type="an..35" minOccurs="0"/>
      <xs:element name="RechtsbehelfHZAOrtsteil" type="an..30" minOccurs="0"/>
      <xs:element name="RechtsbehelfHZAPostfach" type="an..20" minOccurs="0"/>
      <xs:element name="RechtsbehelfHZAPLZP" type="an..6" minOccurs="0"/>
      <xs:element name="RechtsbehelfHZAOrtP" type="an..35" minOccurs="0"/>
      <xs:element name="RechnungEORI" type="an..17" minOccurs="0"/>
      <xs:element name="RechnungNLNR" type="n..4" minOccurs="0"/>
      <xs:element name="RechnungNationalitaet" type="an..2" minOccurs="0"/>
      <xs:element name="RechnungNameFirmenbezeichnung" type="an..120" minOccurs="0"/>
      <xs:element name="RechnungStrasseHausNr" type="an..35" minOccurs="0"/>
      <xs:element name="RechnungPLZS" type="an..9" minOccurs="0"/>
      <xs:element name="RechnungOrtS" type="an..35" minOccurs="0"/>
      <xs:element name="RechnungOrtsteil" type="an..35" minOccurs="0"/>
      <xs:element name="ZahlungsempfaengerFreigegebeneSicherheitenEORI" type="an..17" minOccurs="0"/>
      <xs:element name="ZahlungsempfaengerFreigegebeneSicherheitenNLNR" type="n..4" minOccurs="0"/>
      <xs:element name="ZahlungsempfaengerKreditinstitut" type="an..30" minOccurs="0"/>
      <xs:element name="ZahlungsempfaengerFreigegebeneSicherheitenName" type="an..120" minOccurs="0"/>
      <xs:element name="ZahlungsempfaengerNationalitaet" type="an..2" minOccurs="0"/>
      <xs:element name="ZahlungsempfaengerStrasseHausNr" type="an..35" minOccurs="0"/>
      <xs:element name="ZahlungsempfaengerPLZS" type="an..9" minOccurs="0"/>
      <xs:element name="ZahlungsempfaengerOrtS" type="an..35" minOccurs="0"/>
      <xs:element name="ZahlungsempfaengerOrtsteil" type="an..35" minOccurs="0"/>
      <xs:element name="ZahlungsempfaengerIBAN" type="an..34" minOccurs="0"/>
      <xs:element name="ZahlungsempfaengerBIC" type="an..11" minOccurs="0"/>
      <xs:element name="BescheideempfaengerEORI" type="an..17" minOccurs="0"/>
      <xs:element name="BescheideempfaengerNLNR" type="n..4" minOccurs="0"/>
      <xs:element name="BescheideempfaengerKreditinstitut" type="an..30" minOccurs="0"/>
      <xs:element name="BescheideempfaengerName" type="an..120" minOccurs="0"/>
      <xs:element name="BescheideempfaengerNationalitaet" type="an..2" minOccurs="0"/>
      <xs:element name="BescheideempfaengerStrasseHausNr" type="an..35" minOccurs="0"/>
      <xs:element name="BescheideempfaengerPLZS" type="an..9" minOccurs="0"/>
      <xs:element name="BescheideempfaengerOrtS" type="an..35" minOccurs="0"/>
      <xs:element name="BescheideempfaengerOrtsteil" type="an..35" minOccurs="0"/>
      <xs:element name="BescheideempfaengerIBAN" type="an..34" minOccurs="0"/>
      <xs:element name="BescheideempfaengerBIC" type="an..11" minOccurs="0"/>
      <xs:element name="AbgabenschuldnerEORI" type="an..17" minOccurs="0"/>
      <xs:element name="AbgabenschuldnerNLNR" type="n..4" minOccurs="0"/>
      <xs:element name="AbgabenschuldnerName" type="an..120" minOccurs="0"/>
      <xs:element name="AbgabenschuldnerNationalitaet" type="an..2" minOccurs="0"/>
      <xs:element name="AbgabenschuldnerStrasseHausNr" type="an..35" minOccurs="0"/>
      <xs:element name="AbgabenschuldnerPLZS" type="an..9" minOccurs="0"/>
      <xs:element name="AbgabenschuldnerOrtS" type="an..35" minOccurs="0"/>
      <xs:element name="AbgabenschuldnerOrtsteil" type="an..35" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="n..4">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,4}([.,](0*))?( *)"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n11.2">
    <xs:restriction base="xs:decimal">
      <xs:pattern value="\d{9}\.\d{2}"/>
      <xs:maxInclusive value="999999999.99"/>
      <xs:minInclusive value="0"/>
      <xs:totalDigits value="11"/>
      <xs:fractionDigits value="2"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n2">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:pattern value="\d{2}"/>
      <xs:totalDigits value="2"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n3">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:pattern value="\d{3}"/>
      <xs:totalDigits value="3"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ObjektIdentifizierungTAXATyp">
    <xs:sequence>
      <xs:element name="ObjektName" type="an..35"/>
      <xs:element name="ObjektAlias" type="an..35" minOccurs="0"/>
      <xs:element name="EDIFACTNachrichtenNr" type="an..35"/>
      <xs:element name="ZeitpunktEingang" type="xs:dateTime"/>
      <xs:element name="ShipmentReferenz" type="an..35" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PositionAbschliessendeFestsetzungTyp">
    <xs:sequence>
      <xs:element name="Positionsnummer" type="n2" minOccurs="0"/>
      <xs:element name="FreigabeSicherheitenKz" type="an..1" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TransaktionFreierVerkehrTyp">
    <xs:sequence>
      <xs:element name="IOPartner" type="an..100"/>
      <xs:element name="IODivision1" type="an..10" minOccurs="0"/>
      <xs:element name="IODivision2" type="an..10" minOccurs="0"/>
      <xs:element name="IODivision3" type="an..10" minOccurs="0"/>
      <xs:element name="IOReferenz" type="an..35"/>
      <xs:element name="IODatumZeit" type="xs:dateTime"/>
      <xs:element name="Version" type="n3" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
