<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:imp="https://imp.dakosy.de"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="https://imp.dakosy.de">
  <xs:element name="Response" type="imp:Response"/>
  <xs:simpleType name="an..14Type">
    <xs:restriction base="xs:string">
      <xs:maxLength value="14"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..17Type">
    <xs:restriction base="xs:string">
      <xs:maxLength value="17"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..35Type">
    <xs:restriction base="xs:string">
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..7Type">
    <xs:restriction base="xs:string">
      <xs:maxLength value="7"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Contact">
    <xs:sequence>
      <xs:element name="Name" type="imp:Name"/>
      <xs:element name="Telephone" type="imp:Phone" minOccurs="0"/>
      <xs:element name="Fax" type="imp:Fax" minOccurs="0"/>
      <xs:element name="Email" type="imp:Email" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="ContactTypeCode" type="xs:string"/>
  </xs:complexType>
  <xs:simpleType name="DocumentCreationTime">
    <xs:restriction base="xs:dateTime"/>
  </xs:simpleType>
  <xs:simpleType name="DocumentExchangeNumber">
    <xs:restriction base="imp:an..14Type">
      <xs:minLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Email">
    <xs:restriction base="xs:string">
      <xs:minLength value="3"/>
      <xs:maxLength value="70"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Error">
    <xs:sequence>
      <xs:element name="ErrorCode" type="imp:ErrorCode"/>
      <xs:element name="ErrorInformation" type="imp:TextType" minOccurs="0" maxOccurs="99"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ErrorCode">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="8"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Fax">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Interchange">
    <xs:sequence>
      <xs:element name="CreationTime" type="imp:DocumentCreationTime"/>
      <xs:element name="ExchangeNumber" type="imp:DocumentExchangeNumber"/>
      <xs:element name="TestIndicator" type="xs:boolean" minOccurs="0"/>
      <xs:element name="MessageCount" type="imp:MessageCount" minOccurs="0"/>
      <xs:element name="Sender" type="imp:Participant"/>
      <xs:element name="Recipient" type="imp:Participant"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Message">
    <xs:sequence>
      <xs:element name="MessageHeader" type="imp:MessageHeader"/>
    </xs:sequence>
    <xs:attribute name="MessageType" type="xs:string"/>
    <xs:attribute name="MessageVersionID" type="xs:string" use="required"/>
  </xs:complexType>
  <xs:simpleType name="MessageCount">
    <xs:restriction base="xs:positiveInteger"/>
  </xs:simpleType>
  <xs:simpleType name="MessageFunction">
    <xs:restriction base="imp:an..7Type"/>
  </xs:simpleType>
  <xs:complexType name="MessageHeader">
    <xs:sequence>
      <xs:element name="MessageFunction" type="imp:MessageFunction" minOccurs="0"/>
      <xs:element name="MessageReferenceNumber" type="imp:MessageReferenceNumber"/>
      <xs:element name="PreviousMessageReferenceNumber" type="imp:MessageReferenceNumber" minOccurs="0"/>
      <xs:element name="MessageSender" type="imp:Participant"/>
      <xs:element name="MessageRecipient" type="imp:Participant" maxOccurs="9"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="MessageReferenceNumber">
    <xs:restriction base="imp:an..35Type"/>
  </xs:simpleType>
  <xs:simpleType name="Name">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Participant">
    <xs:sequence>
      <xs:element name="ParticipantCode" type="imp:ParticipantCode"/>
      <xs:element name="Contact" type="imp:Contact" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParticipantCode">
    <xs:simpleContent>
      <xs:extension base="imp:ParticipantCodeType">
        <xs:attribute name="AgencyID" type="xs:string"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="ParticipantCodeType">
    <xs:restriction base="imp:an..17Type">
      <xs:minLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Phone">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ReferenceIDType">
    <xs:simpleContent>
      <xs:extension base="xs:string"/>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="ReferenceType">
    <xs:sequence>
      <xs:element name="TypeCode" type="imp:ReferenceTypeCode"/>
      <xs:element name="ReferenceID" type="imp:ReferenceIDType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ReferenceTypeCode">
    <xs:simpleContent>
      <xs:extension base="imp:ReferenceTypeCodeContent">
        <xs:attribute name="listID" type="xs:string" default="3055"/>
        <xs:attribute name="agencyID" type="xs:string" default="6"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="ReferenceTypeCodeContent">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:complexType name="Response">
    <xs:sequence>
      <xs:element name="Interchange" type="imp:Interchange"/>
      <xs:element name="ResponseMessage" type="imp:ResponseMessage" maxOccurs="999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ResponseMessage">
    <xs:complexContent>
      <xs:extension base="imp:Message">
        <xs:sequence>
          <xs:element name="ResponseType" type="imp:ResponseType"/>
          <xs:element name="OriginalMessageDate" type="xs:dateTime" minOccurs="0"/>
          <xs:element name="OriginalMessageReferenceNumber" type="imp:MessageReferenceNumber"/>
          <xs:element name="InformationContact" type="imp:Contact" minOccurs="0"/>
          <xs:element name="Reference" type="imp:ReferenceType" minOccurs="0" maxOccurs="999"/>
          <xs:element name="Error" type="imp:Error" maxOccurs="999"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ResponseType">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:complexType name="TextType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="languageID" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:schema>
