<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="StatusmeldungNCTSDE" type="StatusmeldungMSTyp"/>
  <xs:complexType name="AdresseTINKurzMSTyp">
    <xs:sequence>
      <xs:element name="EORI" type="an..17" minOccurs="0"/>
      <xs:element name="NLNR" type="n..4" minOccurs="0"/>
      <xs:element name="IDCarnet" type="an..17" minOccurs="0"/>
      <xs:element name="Name" type="an..35" minOccurs="0"/>
      <xs:element name="StrasseHausnummer" type="an..35" minOccurs="0"/>
      <xs:element name="Land" type="an..2" minOccurs="0"/>
      <xs:element name="PLZ" type="an..9" minOccurs="0"/>
      <xs:element name="Ort" type="an..35" minOccurs="0"/>
      <xs:element name="Ansprechpartner" type="AnsprechpartnerMSTyp" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="an..10">
    <xs:restriction base="xs:string">
      <xs:maxLength value="10"/>
    </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..256">
    <xs:restriction base="xs:string">
      <xs:maxLength value="256"/>
    </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..350">
    <xs:restriction base="xs:string">
      <xs:maxLength value="350"/>
    </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="AnsprechpartnerMSTyp">
    <xs:sequence>
      <xs:element name="Sachbearbeiter" type="an..35" minOccurs="0"/>
      <xs:element name="Stellung" type="an..35" minOccurs="0"/>
      <xs:element name="Telefonnummer" type="an..35" minOccurs="0"/>
      <xs:element name="Telefaxnummer" type="an..35" minOccurs="0"/>
      <xs:element name="EmailAdresse" type="an..256" 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="EinzelStatusmeldungTyp">
    <xs:sequence>
      <xs:element name="ObjektIdentifizierung" type="ObjektIdentifizierungMSTyp" minOccurs="0"/>
      <xs:element name="KopfDaten" type="KopfDatenStatusmeldungTyp" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FehlermeldungMSTyp">
    <xs:sequence>
      <xs:element name="Code" type="an..8" minOccurs="0"/>
      <xs:element name="Text" type="an..350" minOccurs="0"/>
      <xs:element name="Zeiger" type="an..350" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="KopfDatenStatusmeldungTyp">
    <xs:sequence>
      <xs:element name="MRN" type="an..18" minOccurs="0"/>
      <xs:element name="EntgegennahmeDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="EntscheidungAnnahmeDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="EntscheidungUeberlassungDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="EntscheidungStornierungDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="ZeitpunktAnrechnungReferenzbetraege" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="WeiterverarbeitungAusserhalbATLASDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="Grund" type="an..350" minOccurs="0"/>
      <xs:element name="StatusUeberwachung" type="an..2" minOccurs="0"/>
      <xs:element name="Arbeitsnummer" type="an..18" minOccurs="0"/>
      <xs:element name="Abgangsstelle" type="an..8" minOccurs="0"/>
      <xs:element name="Hauptverpflichteter" type="AdresseTINKurzMSTyp" minOccurs="0"/>
      <xs:element name="Fehlermeldung" type="FehlermeldungMSTyp" minOccurs="0" maxOccurs="99"/>
    </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="ObjektIdentifizierungMSTyp">
    <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:sequence>
  </xs:complexType>
  <xs:complexType name="StatusmeldungMSTyp">
    <xs:complexContent>
      <xs:extension base="DatenaustauschNCTSTyp">
        <xs:sequence>
          <xs:element name="EinzelStatusmeldung" type="EinzelStatusmeldungTyp" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TransaktionNCTSTyp">
    <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:schema>
