<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="EntladekommentarNCTSDE" type="EntladekommentarURTyp">
    <xs:annotation>
      <xs:documentation>Version 004 - Release 003</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..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..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..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..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:simpleType name="an..8">
    <xs:restriction base="xs:string">
      <xs:maxLength value="8"/>
    </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="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="ConsignmentItemURType">
    <xs:sequence>
      <xs:element name="GoodsItemNumber" type="seq3" minOccurs="0"/>
      <xs:element name="StatusPosition" type="an..4" minOccurs="0"/>
      <xs:element name="CommodityCode" type="an..8" minOccurs="0"/>
      <xs:element name="DescriptionOfGoods" type="an..512" minOccurs="0"/>
      <xs:element name="CusCode" type="an..9" minOccurs="0"/>
      <xs:element name="GrossMass" type="n..19.3" minOccurs="0"/>
      <xs:element name="NetMass" type="n..22.6" minOccurs="0"/>
      <xs:element name="Packaging" type="PackagingURType" minOccurs="0" maxOccurs="99"/>
      <xs:element name="ApplicationInternalData" type="ApplicationInternalDataType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DatenaustauschNCTSTyp">
    <xs:sequence>
      <xs:element name="Transaktion" type="TransaktionNCTSTyp"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DepartureTransportMeansURType">
    <xs:sequence>
      <xs:element name="SequenceNumber" type="n..3" minOccurs="0"/>
      <xs:element name="Status" type="an..4" minOccurs="0"/>
      <xs:element name="TypeOfIdentification" type="an..2" minOccurs="0"/>
      <xs:element name="IdentificationNumber" type="an..35" minOccurs="0"/>
      <xs:element name="Nationality" type="an..2" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EinzelEntladekommentarTyp">
    <xs:sequence>
      <xs:element name="ObjektIdentifizierung" type="ObjektIdentifizierungURTyp" minOccurs="0"/>
      <xs:element name="TransitOperation" type="TransitOperationURType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EntladekommentarURTyp">
    <xs:complexContent>
      <xs:extension base="DatenaustauschNCTSTyp">
        <xs:sequence>
          <xs:element name="EinzelEntladekommentar" type="EinzelEntladekommentarTyp" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="GoodsReferencesURType">
    <xs:sequence>
      <xs:element name="SequenceNumber" type="n..4" minOccurs="0"/>
      <xs:element name="Status" type="an..4" minOccurs="0"/>
      <xs:element name="GoodsReference" type="n..4" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="HouseConsignmentURType">
    <xs:sequence>
      <xs:element name="SequenceNumber" type="n..4" minOccurs="0"/>
      <xs:element name="Status" type="an..4" minOccurs="0"/>
      <xs:element name="GrossMass" type="n..19.3" minOccurs="0"/>
      <xs:element name="DepartureTransportMeans" type="DepartureTransportMeansURType" minOccurs="0" maxOccurs="999"/>
      <xs:element name="ApplicationInternalData" type="ApplicationInternalDataType" minOccurs="0"/>
      <xs:element name="ConsignmentItem" type="ConsignmentItemURType" minOccurs="0" maxOccurs="999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="n..19.3">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,16}([.,]\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..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..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="ObjektIdentifizierungURTyp">
    <xs:sequence>
      <xs:element name="ObjektName" type="an..35"/>
      <xs:element name="ObjektAktion" type="an..10" maxOccurs="10"/>
      <xs:element name="Bearbeiter" type="an..70" minOccurs="0"/>
      <xs:element name="NameAbsendendesSystem" type="an..6" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PackagingURType">
    <xs:sequence>
      <xs:element name="SequenceNumber" type="n..2" minOccurs="0"/>
      <xs:element name="Status" type="an..4" minOccurs="0"/>
      <xs:element name="NumberOfPackages" type="n..8" minOccurs="0"/>
      <xs:element name="TypeOfPackages" type="an..2" minOccurs="0"/>
      <xs:element name="ShippingMarks" type="an..512" 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="TraderAtDestinationURType">
    <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:sequence>
  </xs:complexType>
  <xs:complexType name="TransaktionNCTSTyp">
    <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:complexType name="TransitOperationURType">
    <xs:sequence>
      <xs:element name="TraderAtDestination" type="TraderAtDestinationURType" minOccurs="0"/>
      <xs:element name="Conform" type="an..1" minOccurs="0"/>
      <xs:element name="StateOfSeals" type="an..1" minOccurs="0"/>
      <xs:element name="UnloadingRemark" type="an..512" minOccurs="0"/>
      <xs:element name="OtherThingsToReport" type="an..512" minOccurs="0"/>
      <xs:element name="DepartureTransportMeans" type="DepartureTransportMeansURType" minOccurs="0" maxOccurs="999"/>
      <xs:element name="GrossMass" type="n..19.3" minOccurs="0"/>
      <xs:element name="TransportEquipment" type="TransportEquipmentURType" minOccurs="0" maxOccurs="9999"/>
      <xs:element name="ApplicationInternalData" type="ApplicationInternalDataType" minOccurs="0"/>
      <xs:element name="HouseConsignment" type="HouseConsignmentURType" minOccurs="0" maxOccurs="1999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TransportEquipmentURType">
    <xs:sequence>
      <xs:element name="SequenceNumber" type="n..4" minOccurs="0"/>
      <xs:element name="Status" type="an..4" minOccurs="0"/>
      <xs:element name="NumberOfSeals" type="n..2" minOccurs="0"/>
      <xs:element name="Seal" type="an..20" minOccurs="0" maxOccurs="99"/>
      <xs:element name="ContainerIdentificationNumber" type="an..17" minOccurs="0"/>
      <xs:element name="GoodsReferences" type="GoodsReferencesURType" minOccurs="0" maxOccurs="9999"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
