<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="ReExportNotificationWKSDE" type="ReExportNotificationWKSDEType">
    <xs:annotation>
      <xs:documentation>Version 001 - Release 003</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AdditionalInformationREEDATType">
    <xs:sequence>
      <xs:element name="Code" type="an..5" minOccurs="0"/>
      <xs:element name="Text" type="an..512" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AdditionalReferenceREEDATType">
    <xs:sequence>
      <xs:element name="Type" type="an..4" minOccurs="0"/>
      <xs:element name="ReferenceNumber" type="an..70" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AdditionalSupplyChainActorREEDATType">
    <xs:sequence>
      <xs:element name="Role" type="an..3" minOccurs="0"/>
      <xs:element name="IdentificationNumber" type="an..17" minOccurs="0"/>
    </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..100">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
    </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..18">
    <xs:restriction base="xs:string">
      <xs:maxLength value="18"/>
    </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..21">
    <xs:restriction base="xs:string">
      <xs:maxLength value="21"/>
    </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..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..44">
    <xs:restriction base="xs:string">
      <xs:maxLength value="44"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..5">
    <xs:restriction base="xs:string">
      <xs:maxLength value="5"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..50">
    <xs:restriction base="xs:string">
      <xs:maxLength value="50"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..512">
    <xs:restriction base="xs:string">
      <xs:maxLength value="512"/>
    </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..8">
    <xs:restriction base="xs:string">
      <xs:maxLength value="8"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ApplicationInternalDataAdditionalDetailsDataType">
    <xs:sequence>
      <xs:element name="Key" type="an..35" minOccurs="0"/>
      <xs:element name="Value" type="an..100" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ApplicationInternalDataAdditionalDetailsType">
    <xs:sequence>
      <xs:element name="Data" type="ApplicationInternalDataAdditionalDetailsDataType" minOccurs="0" maxOccurs="999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ApplicationInternalDataType">
    <xs:sequence>
      <xs:element name="AdditionalDetails" type="ApplicationInternalDataAdditionalDetailsType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CarrierContactPersonREEDATType">
    <xs:sequence>
      <xs:element name="Name" type="an..70" minOccurs="0"/>
      <xs:element name="PhoneNumber" type="an..35" minOccurs="0"/>
      <xs:element name="EMailAddress" type="an..256" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CarrierREEDATType">
    <xs:sequence>
      <xs:element name="AddressCode" type="an..50" minOccurs="0"/>
      <xs:element name="IdentificationNumber" type="an..17" minOccurs="0"/>
      <xs:element name="ContactPerson" type="CarrierContactPersonREEDATType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DeclarantContactPersonREEDATType">
    <xs:sequence>
      <xs:element name="Name" type="an..70" minOccurs="0"/>
      <xs:element name="PhoneNumber" type="an..35" minOccurs="0"/>
      <xs:element name="EMailAddress" type="an..256" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DeclarantREEDATType">
    <xs:sequence>
      <xs:element name="AddressCode" type="an..50" minOccurs="0"/>
      <xs:element name="IdentificationNumber" type="an..17" minOccurs="0"/>
      <xs:element name="SubsidiaryNumber" type="n..4" minOccurs="0"/>
      <xs:element name="ContactPerson" type="DeclarantContactPersonREEDATType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DeclarationDataREEDATType">
    <xs:sequence>
      <xs:element name="ObjektIdentifizierung" type="ObjektIdentifizierungREEDATType" minOccurs="0"/>
      <xs:element name="ExportOperation" type="ExportOperationREEDATType" minOccurs="0"/>
      <xs:element name="GoodsItem" type="GoodsItemREEDATType" minOccurs="0" maxOccurs="999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ExportOperationREEDATType">
    <xs:sequence>
      <xs:element name="CustomsOfficeOfExit" type="an..8" minOccurs="0"/>
      <xs:element name="LocationOfGoods" type="LocationOfGoodsREEDATType" minOccurs="0"/>
      <xs:element name="ContainerIndicator" type="indicator" minOccurs="0"/>
      <xs:element name="TransportEquipment" type="TransportEquipmentREEDATType" minOccurs="0" maxOccurs="9999"/>
      <xs:element name="Declarant" type="DeclarantREEDATType" minOccurs="0"/>
      <xs:element name="Representative" type="RepresentativeREEDATType" minOccurs="0"/>
      <xs:element name="Carrier" type="CarrierREEDATType" minOccurs="0"/>
      <xs:element name="AdditionalSupplyChainActor" type="AdditionalSupplyChainActorREEDATType" minOccurs="0" maxOccurs="99"/>
      <xs:element name="TransportDocument" type="TransportDocumentREEDATType" minOccurs="0" maxOccurs="99"/>
      <xs:element name="SupportingDocument" type="SupportingDocumentREEDATType" minOccurs="0" maxOccurs="99"/>
      <xs:element name="AdditionalReference" type="AdditionalReferenceREEDATType" minOccurs="0" maxOccurs="99"/>
      <xs:element name="AdditionalInformation" type="AdditionalInformationREEDATType" minOccurs="0" maxOccurs="99"/>
      <xs:element name="ApplicationInternalData" type="ApplicationInternalDataType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GoodsItemAdditionalInformationREEDATType">
    <xs:sequence>
      <xs:element name="Code" type="an..5" minOccurs="0"/>
      <xs:element name="Text" type="an..512" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GoodsItemAdditionalReferenceREEDATType">
    <xs:sequence>
      <xs:element name="Type" type="an..4" minOccurs="0"/>
      <xs:element name="ReferenceNumber" type="an..70" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GoodsItemAdditionalSupplyChainActorREEDATType">
    <xs:sequence>
      <xs:element name="Role" type="an..3" minOccurs="0"/>
      <xs:element name="IdentificationNumber" type="an..17" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GoodsItemPackagingREEDATType">
    <xs:sequence>
      <xs:element name="ShippingMarks" type="an..512" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GoodsItemPreviousDocumentREEDATType">
    <xs:sequence>
      <xs:element name="Type" type="an..4" minOccurs="0"/>
      <xs:element name="TypeOfPackages" type="an..2" minOccurs="0"/>
      <xs:element name="NumberOfPackages" type="n..8" minOccurs="0"/>
      <xs:element name="Quantity" type="n..22.6" minOccurs="0"/>
      <xs:element name="MeasurementUnitAndQualifier" type="an..4" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GoodsItemProcedureTransferenceREEDATType">
    <xs:sequence>
      <xs:element name="TemporaryStorage" type="GoodsItemProcedureTransferenceTempStorREEDATType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GoodsItemProcedureTransferenceTempStorGoodsRefByKeyREEDATType">
    <xs:sequence>
      <xs:element name="Type" type="an..3" minOccurs="0"/>
      <xs:element name="Key" type="an..44" minOccurs="0"/>
      <xs:element name="Custodian" type="an..17" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GoodsItemProcedureTransferenceTempStorGoodsRefByRegNrREEDATType">
    <xs:sequence>
      <xs:element name="MRN" type="an..18" minOccurs="0"/>
      <xs:element name="RegistrationNumber" type="an..21" minOccurs="0"/>
      <xs:element name="GoodsItemNumber" type="n..4" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GoodsItemProcedureTransferenceTempStorGoodsRefREEDATType">
    <xs:sequence>
      <xs:element name="IdentificationByKey" type="GoodsItemProcedureTransferenceTempStorGoodsRefByKeyREEDATType" minOccurs="0"/>
      <xs:element name="IdentificationByRegNr" type="GoodsItemProcedureTransferenceTempStorGoodsRefByRegNrREEDATType" minOccurs="0"/>
      <xs:element name="NumberOfPackages" type="n..5" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GoodsItemProcedureTransferenceTempStorREEDATType">
    <xs:sequence>
      <xs:element name="TypeOfIdentification" type="an..3" minOccurs="0"/>
      <xs:element name="GoodsReference" type="GoodsItemProcedureTransferenceTempStorGoodsRefREEDATType" minOccurs="0" maxOccurs="999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GoodsItemREEDATType">
    <xs:sequence>
      <xs:element name="DeclarationGoodsItemNumber" type="seq3" minOccurs="0"/>
      <xs:element name="AdditionalSupplyChainActor" type="GoodsItemAdditionalSupplyChainActorREEDATType" minOccurs="0" maxOccurs="99"/>
      <xs:element name="Packaging" type="GoodsItemPackagingREEDATType" minOccurs="0" maxOccurs="99"/>
      <xs:element name="PreviousDocument" type="GoodsItemPreviousDocumentREEDATType" minOccurs="0"/>
      <xs:element name="SupportingDocument" type="GoodsItemSupportingDocumentREEDATType" minOccurs="0" maxOccurs="99"/>
      <xs:element name="AdditionalReference" type="GoodsItemAdditionalReferenceREEDATType" minOccurs="0" maxOccurs="99"/>
      <xs:element name="AdditionalInformation" type="GoodsItemAdditionalInformationREEDATType" minOccurs="0" maxOccurs="99"/>
      <xs:element name="ProcedureTransference" type="GoodsItemProcedureTransferenceREEDATType" minOccurs="0"/>
      <xs:element name="ApplicationInternalData" type="ApplicationInternalDataType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GoodsItemSupportingDocumentREEDATType">
    <xs:sequence>
      <xs:element name="Type" type="an..4" minOccurs="0"/>
      <xs:element name="ReferenceNumber" type="an..70" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="indicator">
    <xs:restriction base="xs:string">
      <xs:maxLength value="1"/>
      <xs:pattern value="[ 0N1JY]"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="LocationOfGoodsAddressREEDATType">
    <xs:sequence>
      <xs:element name="StreetAndNumber" type="an..70" minOccurs="0"/>
      <xs:element name="City" type="an..35" minOccurs="0"/>
      <xs:element name="Postcode" type="an..17" minOccurs="0"/>
      <xs:element name="Country" type="an..2" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LocationOfGoodsContactPersonREEDATType">
    <xs:sequence>
      <xs:element name="Name" type="an..70" minOccurs="0"/>
      <xs:element name="PhoneNumber" type="an..35" minOccurs="0"/>
      <xs:element name="EMailAddress" type="an..256" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LocationOfGoodsEconomicOperatorREEDATType">
    <xs:sequence>
      <xs:element name="IdentificationNumber" type="an..17" minOccurs="0"/>
      <xs:element name="SubsidiaryNumber" type="n..4" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LocationOfGoodsREEDATType">
    <xs:sequence>
      <xs:element name="TypeOfLocation" type="an..1" minOccurs="0"/>
      <xs:element name="QualifierOfIdentification" type="an..1" minOccurs="0"/>
      <xs:element name="CustomsOffice" type="an..8" minOccurs="0"/>
      <xs:element name="EconomicOperator" type="LocationOfGoodsEconomicOperatorREEDATType" minOccurs="0"/>
      <xs:element name="Address" type="LocationOfGoodsAddressREEDATType" minOccurs="0"/>
      <xs:element name="ContactPerson" type="LocationOfGoodsContactPersonREEDATType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="n..22.6">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,16}([.,]\d{0,6}(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="n..8">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,8}([.,](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="ObjektIdentifizierungREEDATType">
    <xs:sequence>
      <xs:element name="ObjektName" type="an..22"/>
      <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" minOccurs="0" maxOccurs="10"/>
      <xs:element name="CompliancePruefung" type="an..3" minOccurs="0"/>
      <xs:element name="Bearbeiter" type="an..70" minOccurs="0"/>
      <xs:element name="ShipmentReferenz" type="an..35" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ReExportNotificationWKSDEType">
    <xs:sequence>
      <xs:element name="Transaktion" type="TransaktionREEDATType" minOccurs="0"/>
      <xs:element name="DeclarationData" type="DeclarationDataREEDATType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RepresentativeContactPersonREEDATType">
    <xs:sequence>
      <xs:element name="Name" type="an..70" minOccurs="0"/>
      <xs:element name="PhoneNumber" type="an..35" minOccurs="0"/>
      <xs:element name="EMailAddress" type="an..256" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RepresentativeREEDATType">
    <xs:sequence>
      <xs:element name="AddressCode" type="an..50" minOccurs="0"/>
      <xs:element name="IdentificationNumber" type="an..17" minOccurs="0"/>
      <xs:element name="SubsidiaryNumber" type="n..4" minOccurs="0"/>
      <xs:element name="ContactPerson" type="RepresentativeContactPersonREEDATType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="seq3">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)[1-9]\d{0,2}([.,](0*))?( *)"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SupportingDocumentREEDATType">
    <xs:sequence>
      <xs:element name="Type" type="an..4" minOccurs="0"/>
      <xs:element name="ReferenceNumber" type="an..70" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TransaktionREEDATType">
    <xs:sequence>
      <xs:element name="IOPartner" type="an..100"/>
      <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="TransportDocumentREEDATType">
    <xs:sequence>
      <xs:element name="Type" type="an..4" minOccurs="0"/>
      <xs:element name="ReferenceNumber" type="an..70" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TransportEquipmentREEDATType">
    <xs:sequence>
      <xs:element name="ContainerIdentificationNumber" type="an..17" minOccurs="0"/>
      <xs:element name="GoodsReference" type="n..3" minOccurs="0" maxOccurs="999"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
