<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
        targetNamespace="http://www.swissdec.ch/schema/sd/20130514/SalaryDeclarationConsumerContainer"
        xmlns:sdcc="http://www.swissdec.ch/schema/sd/20130514/SalaryDeclarationConsumerContainer"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:sdc="http://www.swissdec.ch/schema/sd/20130514/SalaryDeclarationContainer"
        xmlns:sd="http://www.swissdec.ch/schema/sd/20130514/SalaryDeclaration"
        elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.0">

    <!-- state of standardisation: FINAL
         publication: 2013-05-21
         a. boehm
    -->

    <!-- imports -->
    <xs:import namespace="http://www.swissdec.ch/schema/sd/20130514/SalaryDeclarationContainer"
               schemaLocation="SalaryDeclarationContainer.xsd"/>

    <xs:import namespace="http://www.swissdec.ch/schema/sd/20130514/SalaryDeclaration"
               schemaLocation="SalaryDeclaration.xsd"/>

    <!-- complex type definitions -->
    <xs:complexType name="PingConsumerType">
        <xs:sequence>
            <xs:element name="Timestamp" type="xs:dateTime"/>
            <xs:element name="NextCheck" type="xs:dateTime"/>
            <xs:element name="RegisteredMaintenance" type="sdcc:RegisteredMaintenanceType"
                        minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="RegisteredMaintenanceType">
        <xs:sequence>
            <xs:element name="Start" type="xs:dateTime"/>
            <xs:element name="End" type="xs:dateTime"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="PingConsumerResponseType">
        <xs:sequence>
            <xs:element name="Timestamp" type="xs:dateTime"/>
            <xs:choice minOccurs="0">
                <xs:element name="PlannedMaintenance" type="sdcc:PlannedMaintenanceType"/>
                <xs:element name="NoPlannedMaintenance" type="sdcc:EmptyType"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="PlannedMaintenanceType">
        <xs:sequence>
            <xs:element name="Start" type="xs:dateTime"/>
            <xs:element name="End" type="xs:dateTime"/>
            <xs:element name="ProducerMessages" type="sdcc:ProducerMessagesType">
                <xs:unique name="language">
                    <xs:selector xpath="sdcc:Message"/>
                    <xs:field xpath="@language"/>
                </xs:unique>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ProducerMessagesType">
        <xs:sequence>
            <xs:element name="Message" type="sdcc:MessageType" minOccurs="3" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="MessageType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="language" type="sdc:LanguageCodeType" use="required"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="DeclareSalaryConsumerType">
        <xs:sequence>
            <xs:element name="DistributorRequestContext" type="sdcc:DistributorRequestContextType"/>
            <xs:element name="DeclareSalary" type="sdc:SalaryDeclarationRequestType">
                <xs:annotation>
                    <xs:documentation>SalaryDeclarationRequest</xs:documentation>
                </xs:annotation>
                <xs:unique name="AHV-AVS-ID-Key">
                    <xs:selector xpath="sdc:SalaryDeclaration/sd:Company/sd:Institutions/sd:AHV-AVS"/>
                    <xs:field xpath="@institutionID"/>
                </xs:unique>
                <xs:keyref name="AHV-AVS-ID-Ref" refer="sdcc:AHV-AVS-ID-Key">
                    <xs:selector xpath="sdc:Job/sdc:Addressees/sdc:AHV-AVS"/>
                    <xs:field xpath="@institutionIDRef"/>
                </xs:keyref>
                <xs:unique name="UVG-LAA-ID-Key">
                    <xs:selector
                            xpath="sdc:SalaryDeclaration/sd:Company/sd:Institutions/sd:UVG-LAA"/>
                    <xs:field xpath="@institutionID"/>
                </xs:unique>
                <xs:keyref name="UVG-LAA-ID-Ref" refer="sdcc:UVG-LAA-ID-Key">
                    <xs:selector xpath="sdc:Job/sdc:Addressees/sdc:UVG-LAA"/>
                    <xs:field xpath="@institutionIDRef"/>
                </xs:keyref>
                <xs:unique name="UVGZ-LAAC-ID-Key">
                    <xs:selector xpath="sdc:SalaryDeclaration/sd:Company/sd:Institutions/sd:UVGZ-LAAC"/>
                    <xs:field xpath="@institutionID"/>
                </xs:unique>
                <xs:keyref name="UVGZ-LAAC-ID-Ref" refer="sdcc:UVGZ-LAAC-ID-Key">
                    <xs:selector xpath="sdc:Job/sdc:Addressees/sdc:UVGZ-LAAC"/>
                    <xs:field xpath="@institutionIDRef"/>
                </xs:keyref>
                <xs:unique name="KTG-AMC-ID-Key">
                    <xs:selector xpath="sdc:SalaryDeclaration/sd:Company/sd:Institutions/sd:KTG-AMC"/>
                    <xs:field xpath="@institutionID"/>
                </xs:unique>
                <xs:keyref name="KTG-AMC-ID-Ref" refer="sdcc:KTG-AMC-ID-Key">
                    <xs:selector xpath="sdc:Job/sdc:Addressees/sdc:KTG-AMC"/>
                    <xs:field xpath="@institutionIDRef"/>
                </xs:keyref>
                <xs:unique name="BVG-LPP-ID-Key">
                    <xs:selector xpath="sdc:SalaryDeclaration/sd:Company/sd:Institutions/sd:BVG-LPP"/>
                    <xs:field xpath="@institutionID"/>
                </xs:unique>
                <xs:keyref name="BVG-LPP-ID-Ref" refer="sdcc:BVG-LPP-ID-Key">
                    <xs:selector xpath="sdc:Job/sdc:Addressees/sdc:BVG-LPP"/>
                    <xs:field xpath="@institutionIDRef"/>
                </xs:keyref>
                <xs:unique name="FAK-CAF-ID-Key">
                    <xs:selector xpath="sdc:SalaryDeclaration/sd:Company/sd:Institutions/sd:FAK-CAF"/>
                    <xs:field xpath="@institutionID"/>
                </xs:unique>
                <xs:keyref name="FAK-CAF-ID-Ref" refer="sdcc:FAK-CAF-ID-Key">
                    <xs:selector xpath="sdc:Job/sdc:Addressees/sdc:FAK-CAF"/>
                    <xs:field xpath="@institutionIDRef"/>
                </xs:keyref>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="DistributorRequestContextType">
        <xs:sequence>
            <xs:element name="UserAgent" type="sdcc:UserAgentType"/>
            <xs:element name="TransmissionDate" type="xs:dateTime">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Übertragungszeitpunkt</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DeclarationID" type="sdcc:IDType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>DeclarationID</translation>
                        <description>
                            <short>Gleiche ID in allen Requests (Distributor -> End-Empfänger), 
                                Responses (Distributor -> Transmitter), Masken und Pdf‘s, welche 
                                zum identischen Geschäftsvorfall gehören. Damit kann sie als
                                Fallnummer für den Support verwendet werden.</short>
                        </description>
                    </xs:documentation>
                    <xs:documentation xml:lang="fr">
                        <translation>DeclarationID</translation><description>
                            <short>Identificateur qui reste le même dans toutes les requêtes 
                                (Distributeur -> End-Empfänger), réponses (DistributeuràTransmetteur), 
                                masques et Pdf‘s faisant partie d‘une opération commerciale identique. 
                                Il peut être utilisé comme numéro de cas pour le support.</short>
                        </description>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DistributorRequestID" type="sdcc:IDType"/>
            <xs:element name="TestCase" type="sdcc:EmptyType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Testfall</translation>
                        <description>
                            <short>Testfall-Kennzeichnung</short>
                            <technical>Die Daten wurden empfangen und quittiert. Aber OHNE
                                PRODUKTIVE VERARBEITUNG!!!
                            </technical>
                        </description>
                    </xs:documentation>
                     <xs:documentation xml:lang="fr">
                        <translation>Cas de test</translation>
                        <description>
                            <short>Marquage pour cas de test</short>
                            <technical>Les données sont reçus et acquittés. Mais SANS
                                TRAITEMENT PRODUCTIVE!!!
                            </technical>
                        </description>
                    </xs:documentation>                   
                </xs:annotation>
            </xs:element>
            <xs:element name="Duplicate" type="sdcc:DuplicateType" minOccurs="0"/>
            <xs:element name="SubstitutionMapping" type="sdcc:SubstitutionMappingType" minOccurs="0"/>
            <xs:element name="VersionMappingFrom" type="sdcc:VersionMappingFromType" minOccurs="0"/>
            <xs:element name="ProducerSecurityTokens" type="sdcc:ProducerSecurityTokensType">
                <xs:unique name="x509token">
                    <xs:selector xpath="sdcc:X509Certificate"/>
                    <xs:field xpath="sdcc:Usage"/>
                    <xs:field xpath="sdcc:DistinguishedNameOwner"/>
                </xs:unique>
            </xs:element>
            <xs:element name="ProducerResponseNotifications"
                        type="sdcc:ProducerResponseNotificationsType"/>
            <xs:element name="ConsumerNotifications" type="sdcc:ConsumerNotificationsType"
                        minOccurs="0"/>
            <xs:element name="Institutions" type="sd:CustomerIdentificationType" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="UserAgentType">
        <xs:sequence>
            <xs:element name="Producer" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Applikations-Hersteller</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Name" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Produkt-Name</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Version" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Produkt-Version</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="DuplicateType">
        <xs:sequence>
            <xs:element name="LastDistributorRequestID" type="sdcc:IDType"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="SubstitutionMappingType">
        <xs:sequence>
            <xs:element name="MappedPredecessorDistributorRequestID" type="sdcc:IDType"/>
            <xs:element name="MappedPredecessorConsumerResponseID" type="sdcc:IDType"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ProducerSecurityTokensType">
        <xs:sequence>
            <xs:element name="Timestamp" type="xs:dateTime" maxOccurs="unbounded"/>
            <xs:element name="X509Certificate" type="sdcc:X509CertificateType"
                        maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="X509CertificateType">
        <xs:sequence>
            <xs:element name="Usage" type="sdcc:UsageType"/>
            <xs:element name="DistinguishedNameOwner" type="xs:string"/>
            <xs:element name="DistinguishedNameIssuer" type="xs:string"/>
            <xs:element name="SecuredElement" type="xs:string" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="UsageType">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Signature"/>
            <xs:enumeration value="QualifiedSignature"/>
            <xs:enumeration value="Encryption"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="ProducerResponseNotificationsType">
        <xs:sequence>
            <xs:element name="Warning" type="sdcc:ProducerNotificationsType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Warnungen, die an den Producer zurückgeschickt werden
                        </translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Info" type="sdcc:ProducerNotificationsType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Informationen, die an den Producer zurückgeschickt werden
                        </translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ProducerNotificationsType">
        <xs:sequence>
            <xs:element name="Notification" type="sdcc:ProducerNotificationType"
                        maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Hinweise</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ProducerNotificationType">
        <xs:sequence>
            <xs:element name="QualityLevel" type="sdcc:QualityLevelType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Qualitäts-Stufe</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DescriptionCode" type="sdcc:DescriptionCodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Code der Beschreibung</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Description" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Beschreibungstext</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ConsumerNotificationsType">
        <xs:sequence>
            <xs:element name="Warning" type="sdcc:ConsumerNotificationType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Warnungen, die an den Consumer geschickt werden</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Info" type="sdcc:ConsumerNotificationType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Informationen, die an den Consumer zurückgeschickt werden
                        </translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ConsumerNotificationType">
        <xs:sequence>
            <xs:element name="Notification" type="sdcc:NotificationType" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="NotificationType">
        <xs:sequence>
            <xs:element name="DescriptionCode" type="sdcc:DescriptionCodeType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Code der Beschreibung</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Description" type="xs:string">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Beschreibungstext</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="DeclareSalaryConsumerResponseType">
        <xs:sequence>
            <xs:element name="ConsumerResponseContext" type="sdcc:ConsumerResponseContextType"/>
            <xs:element name="JobState" type="sdcc:JobStateType"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="JobStateType">
        <xs:choice>
            <xs:element name="AHV-AVS" type="sdc:ReducedWorkingStateMultiType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>AK-Nummer</translation>
                    </xs:documentation>
                    <xs:documentation xml:lang="fr">
                        <translation>Numéro CC</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="UVG-LAA" type="sdc:ReducedWorkingStateMultiType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>UVG-LAA</translation>
                    </xs:documentation>
                    <xs:documentation xml:lang="fr">
                        <translation>UVG-LAA</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="UVGZ-LAAC" type="sdc:ReducedWorkingStateMultiType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>UVGZ-LAAC</translation>
                    </xs:documentation>
                    <xs:documentation xml:lang="fr">
                        <translation>UVGZ-LAAC</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="KTG-AMC" type="sdc:ReducedWorkingStateMultiType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>KTG-AMC</translation>
                    </xs:documentation>
                    <xs:documentation xml:lang="fr">
                        <translation>KTG-AMC</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="BVG-LPP" type="sdc:ReducedWorkingStateMultiType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>BVG-LPP</translation>
                    </xs:documentation>
                    <xs:documentation xml:lang="fr">
                        <translation>BVG-LPP</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="FAK-CAF" type="sdc:ReducedWorkingStateMultiType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>FAK-CAF</translation>
                    </xs:documentation>
                    <xs:documentation xml:lang="fr">
                        <translation>FAK-CAF</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Tax" type="sdc:TaxWorkingStateConsumerType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Kantonale Steuerverwaltung</translation>
                    </xs:documentation>
                    <xs:documentation xml:lang="fr">
                        <translation>Administration cantonale des contributions</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Statistic" type="sdc:ReducedWorkingStateType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>BFS</translation>
                    </xs:documentation>
                    <xs:documentation xml:lang="fr">
                        <translation>OFS</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="TaxAtSource" type="sdc:ReducedWorkingStateMultiType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Quellensteuer</translation>
                    </xs:documentation>
                    <xs:documentation xml:lang="fr">
                        <translation>Impôt à la source</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="ConsumerResponseContextType">
        <xs:sequence>
            <xs:element name="ConsumerResponseID" type="sdcc:IDType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>AntwortID</translation>
                        <description>
                            <short>ID der Antwort</short>
                        </description>
                    </xs:documentation>
                    <xs:documentation xml:lang="fr">
                        <translation>AntwortID</translation>
                        <description>
                            <short>ID de la réponse</short>
                        </description>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DistributorRequestID" type="sdcc:IDType">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>AuftragsID</translation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="TestCase" type="sdcc:EmptyType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="de">
                        <translation>Testfall</translation>
                        <description>
                            <short>Testfall-Kennzeichnung</short>
                            <technical>Die Daten wurden empfangen und quittiert. Aber OHNE
                                PRODUKTIVE VERARBEITUNG!!!
                            </technical>
                        </description>
                    </xs:documentation>
                    <xs:documentation xml:lang="fr">
                        <translation>Cas de test</translation>
                        <description>
                            <short>Marquage pour cas de test</short>
                            <technical>Les données sont reçus et acquittés. Mais SANS
                                TRAITEMENT PRODUCTIVE!!!
                            </technical>
                        </description>
                    </xs:documentation>                    
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="GetResultFromDeclareSalaryConsumerType">
        <xs:sequence>
            <xs:element name="DistributorRequestContext" type="sdcc:DistributorRequestContextType"/>
            <xs:element name="GetResultFromDeclareSalary" type="sdc:GetResultFromDeclareSalaryType"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="GetResultFromDeclareSalaryConsumerResponseType">
        <xs:sequence>
            <xs:element name="ConsumerResponseContext" type="sdcc:ConsumerResponseContextType"/>
            <xs:element name="GetResultFromDeclareSalaryResponse"
                        type="sdc:SalaryResultConsumerType"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="VersionMappingFromType">
        <xs:sequence>
            <xs:element name="WSDLNamespace" type="xs:anyURI"/>
            <xs:element name="ServiceTypesNamespace" type="xs:anyURI"/>
            <xs:element name="SalaryDeclarationMinorVersion" type="xs:decimal"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="SalaryDeclarationConsumerFaultType">
        <xs:sequence>
            <xs:element name="ConsumerFaultContext" type="sdcc:ConsumerResponseContextType"/>
            <xs:element name="SalaryDeclarationFault" type="sdc:SalaryDeclarationFaultType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="EmptyType"/>

    <!-- simple types
    -->
    <xs:simpleType name="QualityLevelType">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                <translation>Qualitäts-Stufen</translation>
                <description>
                    <short>Qualtäts-Stufen der Übermittlung</short>
                    <technical>
                        Folgende Stufen gelten
                        Validity: erste Stufe
                        Plausibility: zweite Stufe
                        Acceptance: dritte Stufe
                        Comment: vierte Stufe
                    </technical>
                </description>
            </xs:documentation>
            <xs:documentation xml:lang="fr">
                <translation>Niveaux de qualité</translation>
                <description>
                    <short>
                        Niveaux de qualité de la transmission
                    </short>
                    <technical>
                        Il existe les niveaux suivants:
                        Validity: premier niveau
                        Plausibility: deuxième niveau
                        Acceptance: troisième niveau
                        Comment: quatrième niveau
                    </technical>
                </description>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Validity"/>
            <xs:enumeration value="Plausibility"/>
            <xs:enumeration value="Acceptance"/>
            <xs:enumeration value="Comment"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="DescriptionCodeType">
        <xs:annotation>
            <xs:documentation xml:lang="de">
                <translation>Beschreibungscode</translation>
                <description>
                    <technical>
                        Severity: Information
                        Code 9999 ist immer für Freitext reserviert.
                        Die restlichen Code sind dynamisch in AcknowledgementNotification spezifiziert.
                    </technical>
                </description>
            </xs:documentation>
            <xs:documentation xml:lang="fr">
                <translation>Code de la description</translation>
                <description>
                    <technical>
                        Severity: Information
                        Le code 9999 est toujours réservé pour un texte libre.
                        Le reste des codes sont spécifiés dynamique dans AcknowledgementNotification.
                    </technical>
                </description>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:nonNegativeInteger">
            <xs:totalDigits value="7"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="IDType">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="255"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
