<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="InformationenZumAusgang" type="InformationenZumAusgangXITyp"/>
  <xs:complexType name="AbfahrtContainerXITyp">
    <xs:sequence>
      <xs:element name="AbfahrtDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="BefoerderungsmittelGrenze" type="BefoerderungsmittelGrenzeContainerXITyp" minOccurs="0"/>
      <xs:element name="Ladeort" type="an..140" minOccurs="0" maxOccurs="2"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AbfahrtKopfXITyp">
    <xs:sequence>
      <xs:element name="AbfahrtDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="BefoerderungsmittelGrenze" type="BefoerderungsmittelGrenzeKopfXITyp" minOccurs="0"/>
      <xs:element name="Ladeort" type="an..140" minOccurs="0" maxOccurs="2"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AbfahrtPackstueckXITyp">
    <xs:sequence>
      <xs:element name="AbfahrtDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="BefoerderungsmittelGrenze" type="BefoerderungsmittelGrenzePackstueckXITyp" minOccurs="0"/>
      <xs:element name="Ladeort" type="an..140" minOccurs="0" maxOccurs="2"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AbfahrtPositionXITyp">
    <xs:sequence>
      <xs:element name="AbfahrtDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="BefoerderungsmittelGrenze" type="BefoerderungsmittelGrenzePositionXITyp" minOccurs="0"/>
      <xs:element name="Ladeort" type="an..140" minOccurs="0" maxOccurs="2"/>
    </xs:sequence>
  </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..140">
    <xs:restriction base="xs:string">
      <xs:maxLength value="140"/>
    </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..22">
    <xs:restriction base="xs:string">
      <xs:maxLength value="22"/>
    </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..42">
    <xs:restriction base="xs:string">
      <xs:maxLength value="42"/>
    </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..70">
    <xs:restriction base="xs:string">
      <xs:maxLength value="70"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="BefoerderungsmittelGrenzeContainerXITyp">
    <xs:sequence>
      <xs:element name="Kennzeichen" type="an..70"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="BefoerderungsmittelGrenzeKopfXITyp">
    <xs:sequence>
      <xs:element name="Kennzeichen" type="an..70"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="BefoerderungsmittelGrenzePackstueckXITyp">
    <xs:sequence>
      <xs:element name="Kennzeichen" type="an..70"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="BefoerderungsmittelGrenzePositionXITyp">
    <xs:sequence>
      <xs:element name="Kennzeichen" type="an..70"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ContainerXITyp">
    <xs:sequence>
      <xs:element name="ContainerNummer" type="an..17" minOccurs="0" maxOccurs="99"/>
      <xs:element name="Abfahrt" type="AbfahrtContainerXITyp" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DatenaustauschExportTyp">
    <xs:sequence>
      <xs:element name="Transaktion" type="TransaktionExportTyp"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EinzelInformationenZumAusgangTyp">
    <xs:sequence>
      <xs:element name="ObjektIdentifizierung" type="ObjektIdentifizierungXITyp"/>
      <xs:element name="KopfDaten" type="KopfDatenInformationenZumAusgangTyp" minOccurs="0"/>
      <xs:element name="WarenPosition" type="PositionInformationZumAusgangTyp" minOccurs="0" maxOccurs="999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="InformationenZumAusgangXITyp">
    <xs:complexContent>
      <xs:extension base="DatenaustauschExportTyp">
        <xs:sequence>
          <xs:element name="EinzelInformationenZumAusgang" type="EinzelInformationenZumAusgangTyp" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="KopfDatenInformationenZumAusgangTyp">
    <xs:sequence>
      <xs:element name="InformationArtCode" type="an..2" minOccurs="0"/>
      <xs:element name="AbschlussKennzeichen" type="an..1" minOccurs="0"/>
      <xs:element name="RegistrierNummerFremdSystem" type="an..70" minOccurs="0"/>
      <xs:element name="Abfahrt" type="AbfahrtKopfXITyp" minOccurs="0"/>
      <xs:element name="Spediteur" type="SpediteurXITyp" minOccurs="0"/>
      <xs:element name="Verschluss" type="VerschluesseXITyp" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="n..14.3">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,11}([.,]\d{0,3}(0*))?( *)"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n..2">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,2}([.,](0*))?( *)"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n..3">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,3}([.,](0*))?( *)"/>
    </xs:restriction>
  </xs:simpleType>
  <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="n..5">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,5}([.,](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="ObjektIdentifizierungXITyp">
    <xs:sequence>
      <xs:element name="ObjektName" type="an..22"/>
      <xs:element name="ObjektQuittung" type="an..1" minOccurs="0"/>
      <xs:element name="ObjektAktion" type="an..10" maxOccurs="3"/>
      <xs:element name="CompliancePruefung" type="an..3" minOccurs="0"/>
      <xs:element name="Bearbeiter" type="an..20"/>
      <xs:element name="AbsenderSystemName" type="an..6" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PackstueckXITyp">
    <xs:sequence>
      <xs:element name="LaufendeNummer" type="n..2" minOccurs="0"/>
      <xs:element name="Anzahl" type="n..5" minOccurs="0"/>
      <xs:element name="VerpackungsartCode" type="an..3" minOccurs="0"/>
      <xs:element name="Kennzeichnung" type="an..42" minOccurs="0"/>
      <xs:element name="Abfahrt" type="AbfahrtPackstueckXITyp" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PositionInformationZumAusgangTyp">
    <xs:sequence>
      <xs:element name="Positionsnummer" type="n..3" minOccurs="0"/>
      <xs:element name="Eigenmasse" type="n..14.3" minOccurs="0"/>
      <xs:element name="Rohmasse" type="n..14.3" minOccurs="0"/>
      <xs:element name="RegistrierNummerFremdSystem" type="an..70" minOccurs="0"/>
      <xs:element name="Abfahrt" type="AbfahrtPositionXITyp" minOccurs="0"/>
      <xs:element name="Packstueck" type="PackstueckXITyp" minOccurs="0" maxOccurs="99"/>
      <xs:element name="Container" type="ContainerXITyp" minOccurs="0" maxOccurs="99"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SpediteurXITyp">
    <xs:sequence>
      <xs:element name="TeilnehmerEORI" type="an..17" minOccurs="0"/>
      <xs:element name="TeilnehmerNLNR" type="n..4" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TransaktionExportTyp">
    <xs:sequence>
      <xs:element name="IOPartner" type="an..10"/>
      <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:complexType name="VerschluesseXITyp">
    <xs:sequence>
      <xs:element name="Anzahl" type="n..4" minOccurs="0"/>
      <xs:element name="VerschluesselnOrdnung" type="an..1" minOccurs="0"/>
      <xs:element name="Zeichen" type="an..20" minOccurs="0" maxOccurs="9999"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
