<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="ErgaenzendeAnmeldungFVAVUV" type="ErgaenzendeAnmeldungEGZTyp">
    <xs:annotation>
      <xs:documentation>Version 001 - Release 017</xs:documentation>
    </xs:annotation>
  </xs:element>
  <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..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..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..35">
    <xs:restriction base="xs:string">
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..4">
    <xs:restriction base="xs:string">
      <xs:maxLength value="4"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..7">
    <xs:restriction base="xs:string">
      <xs:maxLength value="7"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..70">
    <xs:restriction base="xs:string">
      <xs:maxLength value="70"/>
    </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="EinzelErgaenzendeAnmeldungTyp">
    <xs:sequence>
      <xs:element name="ObjektIdentifizierung" type="ObjektIdentifizierungEGZTyp" minOccurs="0"/>
      <xs:element name="KopfDaten" type="KopfDatenErgaenzendeAnmeldungTyp" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ErgaenzendeAnmeldungEGZTyp">
    <xs:complexContent>
      <xs:extension base="DatenaustauschFreierVerkehrTyp">
        <xs:sequence>
          <xs:element name="EinzelErgaenzendeAnmeldung" type="EinzelErgaenzendeAnmeldungTyp" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ErgaenzungsPositionEGZTyp">
    <xs:sequence>
      <xs:element name="Bezugsnummer" type="an..35" minOccurs="0"/>
      <xs:element name="Position" type="an..3" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="KopfDatenErgaenzendeAnmeldungTyp">
    <xs:sequence>
      <xs:element name="AbrechnungsZollstelle" type="an..4" minOccurs="0"/>
      <xs:element name="ArtAnmeldung" type="an..3"/>
      <xs:element name="Funktion" type="an..2"/>
      <xs:element name="DatumNachricht" type="xs:date"/>
      <xs:element name="AbrechnungszeitraumBeginn" type="xs:date" minOccurs="0"/>
      <xs:element name="AbrechnungszeitraumEnde" type="xs:date" minOccurs="0"/>
      <xs:element name="AnmelderEmpfaengerKz" type="an..1" minOccurs="0"/>
      <xs:element name="BewilligungsNr" type="an..35" minOccurs="0"/>
      <xs:element name="BewilligungsNrAVUV" type="an..35" minOccurs="0"/>
      <xs:element name="BewilligungsnummerEndverwender" type="an..35" minOccurs="0"/>
      <xs:element name="RegistrierNr" type="an..21" minOccurs="0"/>
      <xs:element name="Vorsteuerabzug" type="an..1" minOccurs="0"/>
      <xs:element name="UmsatzsteuerID" type="an..20" minOccurs="0"/>
      <xs:element name="LastschriftteilnehmerNr" type="an..10" minOccurs="0"/>
      <xs:element name="Finanzamt" type="an..4" minOccurs="0"/>
      <xs:element name="BearbeiterName" type="an..35" minOccurs="0"/>
      <xs:element name="BearbeiterStellung" type="an..35" minOccurs="0"/>
      <xs:element name="BearbeiterEmailAdresse" type="an..256" minOccurs="0"/>
      <xs:element name="BearbeiterTelefonNr" type="an..35" minOccurs="0"/>
      <xs:element name="Ausstellungsort" type="an..35" minOccurs="0"/>
      <xs:element name="KzVertretungsverhaeltnis" type="an..1" minOccurs="0"/>
      <xs:element name="VertreterEORI" type="an..17" minOccurs="0"/>
      <xs:element name="VertreterNLNR" type="n..4" minOccurs="0"/>
      <xs:element name="VertreterZollNr" type="an..7" minOccurs="0"/>
      <xs:element name="FuerRechnungEORI" type="an..17" minOccurs="0"/>
      <xs:element name="FuerRechnungNLNR" type="n..4" minOccurs="0"/>
      <xs:element name="FuerRechnungZollNr" type="an..7" minOccurs="0"/>
      <xs:element name="FuerRechnungFirmenbezeichnung" type="an..120" minOccurs="0"/>
      <xs:element name="FuerRechnungNationalitaet" type="an..2" minOccurs="0"/>
      <xs:element name="FuerRechnungStrasseHausNr" type="an..35" minOccurs="0"/>
      <xs:element name="FuerRechnungPLZS" type="an..9" minOccurs="0"/>
      <xs:element name="FuerRechnungOrtS" type="an..35" minOccurs="0"/>
      <xs:element name="FuerRechnungOrtsteil" type="an..35" minOccurs="0"/>
      <xs:element name="AnmelderEORI" type="an..17" minOccurs="0"/>
      <xs:element name="AnmelderNLNR" type="n..4" minOccurs="0"/>
      <xs:element name="ErgaenzungsPosition" type="ErgaenzungsPositionEGZTyp" minOccurs="0" maxOccurs="99999"/>
    </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="n3">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:pattern value="\d{3}"/>
      <xs:totalDigits value="3"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ObjektIdentifizierungEGZTyp">
    <xs:sequence>
      <xs:element name="ObjektName" type="an..35"/>
      <xs:element name="ObjektAliasname" type="an..35" minOccurs="0"/>
      <xs:element name="BezugsnummerVorblendung" type="an..35" minOccurs="0"/>
      <xs:element name="KopieVon" type="an..35" minOccurs="0"/>
      <xs:element name="ObjektAktion" type="an..10" maxOccurs="2"/>
      <xs:element name="Bearbeiter" type="an..70"/>
      <xs:element name="ShipmentReferenz" type="an..35" 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>
