<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:xsb="https://portalverbund.d-nrw.de/efa/XSozial-basis/Version_2_6_0"
           xmlns:bn-uq-g2g="http://xoev.de/schemata/basisnachricht/unqualified/g2g/1_1"
           xmlns:din91379="urn:xoev-de:kosit:xoev:datentyp:din-91379_2022-08"
           xmlns:xoev-code="http://xoev.de/schemata/code/1_0"
           targetNamespace="https://portalverbund.d-nrw.de/efa/XSozial-basis/Version_2_6_0"
           version="2.6.0"
           elementFormDefault="unqualified"
           attributeFormDefault="unqualified">
   <xs:annotation>
      <xs:appinfo>
         <standard>
            <nameLang>XSozial-basis</nameLang>
            <nameKurz>XSozial-basis</nameKurz>
            <nameTechnisch>xsozialbasis</nameTechnisch>
            <kennung>urn:xoev-de:d-nrw:standard:xsozialbasis</kennung>
            <beschreibung>XSozial-basis - XÖV-Standard für die elektronische Datenübermittlung im Sozialbereich</beschreibung>
         </standard>
         <versionStandard>
            <version>2.6.0</version>
            <beschreibung>Die Änderungen zu dieser Version sind dem Anhang "Versionshistorie" der Spezifikation zu entnehmen.</beschreibung>
            <versionXOEVProfil>3.0.3</versionXOEVProfil>
            <versionXOEVHandbuch>3.0.2</versionXOEVHandbuch>
            <versionXGenerator>3.2.4</versionXGenerator>
            <versionModellierungswerkzeug>2024x</versionModellierungswerkzeug>
            <nameModellierungswerkzeug>MagicDraw</nameModellierungswerkzeug>
         </versionStandard>
      </xs:appinfo>
   </xs:annotation>
   <xs:import schemaLocation="http://xoev.de/schemata/basisnachricht/unqualified/g2g/1_1/xoev-basisnachricht-unqualified-g2g_1.1.xsd"
              namespace="http://xoev.de/schemata/basisnachricht/unqualified/g2g/1_1"/>
   <xs:import schemaLocation="http://xoev.de/schemata/code/1_0/xoev-code.xsd"
              namespace="http://xoev.de/schemata/code/1_0"/>
   <xs:import schemaLocation="https://xoev.de/schemata/din/91379/2022-08/din-norm-91379-datatypes.xsd"
              namespace="urn:xoev-de:kosit:xoev:datentyp:din-91379_2022-08"/>
   <xs:complexType name="Code.Nachrichtentyp">
      <xs:annotation>
         <xs:appinfo>
            <codeliste>
               <nameLang>Nachrichtentyp</nameLang>
               <nameKurz>Nachrichtentyp</nameKurz>
               <nameTechnisch>nachrichtentyp</nameTechnisch>
               <kennung>urn:xoev-de:d-nrw:codeliste:nachrichtentyp</kennung>
               <beschreibung>Diese Codeliste dient zum Abbilden des Nachrichtentyps.</beschreibung>
               <herausgebernameLang>d-NRW AöR</herausgebernameLang>
               <herausgebernameKurz>d-NRW</herausgebernameKurz>
            </codeliste>
            <versionCodeliste>
               <version>1</version>
               <beschreibung>Initiale Version</beschreibung>
               <datumGueltigkeitAb>2023-11-01</datumGueltigkeitAb>
               <versionCodelistenHandbuch>1.2</versionCodelistenHandbuch>
               <aenderungZurVorversion>Keine</aenderungZurVorversion>
            </versionCodeliste>
            <codelistenspalten>
               <Key>
                  <datentyp>string</datentyp>
                  <codeSpalte>true</codeSpalte>
                  <verwendung>required</verwendung>
                  <empfohleneCodeSpalte>true</empfohleneCodeSpalte>
               </Key>
               <Nachrichtentyp>
                  <datentyp>string</datentyp>
                  <codeSpalte>false</codeSpalte>
                  <verwendung>required</verwendung>
                  <empfohleneCodeSpalte>false</empfohleneCodeSpalte>
               </Nachrichtentyp>
            </codelistenspalten>
            <genutzteCodeSpalte>Key</genutzteCodeSpalte>
         </xs:appinfo>
      </xs:annotation>
      <xs:complexContent>
         <xs:restriction base="xoev-code:Code">
            <xs:sequence>
               <xs:element name="code" type="xsb:nachrichtentyp"/>
               <xs:element name="name" type="xs:normalizedString" minOccurs="0"/>
            </xs:sequence>
            <xs:attribute name="listURI"
                          type="xs:anyURI"
                          use="optional"
                          fixed="urn:xoev-de:d-nrw:codeliste:nachrichtentyp"/>
            <xs:attribute name="listVersionID"
                          type="xs:normalizedString"
                          use="optional"
                          fixed="1"/>
         </xs:restriction>
      </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="Identifikation.NachrichtType">
      <xs:annotation>
         <xs:documentation>Dieser Typ enthält Angaben zur eindeutigen Identifikation einer Nachricht.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
         <xs:restriction base="bn-uq-g2g:Identifikation.NachrichtType">
            <xs:sequence>
               <xs:element name="nachrichtenUUID" type="bn-uq-g2g:UUID" form="unqualified">
                  <xs:annotation>
                     <xs:documentation>Dieses Element enthält den „Universally Unique IDentifier (UUID)“ der Nachricht, der das primäre Identifikationsmerkmal einer Nachricht darstellt. Der UUID der Nachricht wird entsprechend rfc4122 gebildet und ermöglicht Nachrichten hersteller- und anwendungsübergreifend weltweit eindeutig zu identifizieren. Für jede Nachricht muss ein neuer UUID erzeugt werden, um eine eindeutige Identifikation der Nachricht sicherzustellen. Insbesondere ist es nicht zulässig, in einer korrigierten Nachricht den UUID der ursprünglichen Nachricht wiederzuverwenden. Sofern eine einmal erzeugte Nachricht ein weiteres Mal gesendet werden soll (bspw. aufgrund von Problemen beim Nachrichtentransport), muss der UUID nicht angepasst werden.</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="nachrichtentyp"
                           type="xsb:Code.Nachrichtentyp"
                           form="unqualified">
                  <xs:annotation>
                     <xs:documentation>Dieses Element enthält eine eindeutige Kennzeichnung des Nachrichtentyps. Die Identifikation erfolgt über eine Codeliste des entsprechenden XÖV-Standards.</xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element name="erstellungszeitpunkt" type="xs:dateTime" form="unqualified">
                  <xs:annotation>
                     <xs:documentation>Dieses Element enthält den Erstellungszeitpunkt der Nachricht - es enthält explizit nicht den Sende- und Empfangszeitpunkt. Der Erstellungszeitpunkt muss neben einer Angabe zum Datum eine zeitliche Information beinhalten. Diese ist mit einer Genauigkeit auf Ebene von Millisekunden und der Angabe zur Zeitzone zu übermitteln.</xs:documentation>
                  </xs:annotation>
               </xs:element>
            </xs:sequence>
         </xs:restriction>
      </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="Nachricht.G2GType">
      <xs:annotation>
         <xs:documentation>Basistyp für alle Nachrichten zwischen Behörden und anderen öffentlichen Stellen (government-to-government).</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="nachrichtenkopf.g2g"
                     type="xsb:Nachrichtenkopf.G2GType"
                     form="unqualified">
            <xs:annotation>
               <xs:documentation>Nachrichtenkopf für Nachrichten zwischen Behörden und anderen (öffentlichen) Stellen. Der Nachrichtenkopf umfasst Angaben zur eindeutigen Identifikation des Autors und des Lesers der Nachricht sowie der Nachricht selbst.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="produkt" type="din91379:datatypeC" use="required">
         <xs:annotation>
            <xs:documentation>In diesem Attribut ist der Name des Produktes (der Software) einzutragen, mit dem die Nachricht erstellt worden ist.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="produkthersteller" type="din91379:datatypeC" use="required">
         <xs:annotation>
            <xs:documentation>In diesem Attribut wird der Name der Organisation / Firma übermittelt, die für das Produkt (die Software) verantwortlich ist, mit dem die Nachricht erstellt wurde.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="produktversion" type="din91379:datatypeC" use="optional">
         <xs:annotation>
            <xs:documentation>In diesem Attribut werden ergänzende Hinweise zu dem Produkt eingetragen. Dies sind Angaben, die für eine möglichst präzise Identifikation im Fehlerfall hilfreich sind, wie zum Beispiel Version und Patchlevel.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="standard"
                    type="din91379:datatypeC"
                    use="required"
                    fixed="XSozial-basis">
         <xs:annotation>
            <xs:documentation>In diesem Attribut wird der Name des XÖV-Standards angegeben, aus dem die Nachricht stammt.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="test" type="din91379:datatypeC" use="optional">
         <xs:annotation>
            <xs:documentation>Ist dieses Attribut vorhanden, handelt es sich aus Sicht des Autors um eine Testnachricht, die nicht im normalen Produktivbetrieb verarbeitet werden darf. Autor und Leser können bilateral weitere Absprachen über den konkreten Inhalt des Attributs treffen.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="version"
                    type="din91379:datatypeC"
                    use="required"
                    fixed="2.6.0">
         <xs:annotation>
            <xs:documentation>In diesem Attribut wird die Version des XÖV-Standards eingetragen, aus dem die Nachricht stammt.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="Nachrichtenkopf.G2GType">
      <xs:annotation>
         <xs:documentation>Nachrichtenkopf für Nachrichten zwischen Behörden und anderen (öffentlichen) Stellen. Der Nachrichtenkopf umfasst Angaben zur eindeutigen Identifikation des Autors und des Lesers der Nachricht sowie der Nachricht selbst.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="identifikation.nachricht"
                     type="xsb:Identifikation.NachrichtType"
                     form="unqualified">
            <xs:annotation>
               <xs:documentation>Dieses Element enthält Angaben zur eindeutigen Identifikation einer Nachricht.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="leser" type="bn-uq-g2g:BehoerdeType" form="unqualified">
            <xs:annotation>
               <xs:documentation>Dieses Element enthält Angaben zum Leser der Nachricht. Der Leser ist die fachlich zuständige Behörde / öffentliche Stelle, der die Nachricht zugestellt werden soll und die die Nachricht fachlich verarbeiten soll.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="autor" type="bn-uq-g2g:BehoerdeType" form="unqualified">
            <xs:annotation>
               <xs:documentation>Dieses Element enthält Angaben zum Autor der Nachricht, die es dem Leser ermöglichen, bei Bedarf mit dem Autor in Verbindung zu treten. Der Autor ist die fachlich zuständige Behörde / öffentliche Stelle, die die Nachricht erstellt.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="referenzUUID"
                     minOccurs="0"
                     type="bn-uq-g2g:UUID"
                     form="unqualified">
            <xs:annotation>
               <xs:documentation>UUID der Nachricht, auf welche mit dieser Nachricht geantwortet wird.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="dvdvDienstkennung"
                     minOccurs="0"
                     type="din91379:datatypeC"
                     form="unqualified">
            <xs:annotation>
               <xs:documentation>Hier ist der targetNamespace einzutragen, unter dem die zu verwendende WSDL-Datei im DVDV zu finden ist, zum Beispiel bei einem HzL-Antrag: https://portalverbund.d-nrw.de/efa/XSozial-basis/Version_1_0_0/XSoz260-HZL-BEA-SOP2SOA.wsdl, wenn als targetNamespace eine URL verwendet wurde; xsozialbasis/XSoz260-HZL-BEA-SOP2SOA.wsdl, wenn als targetNamespace ein Dateiname verwendet wurde. Diese Information dient zur Unterstützung für den Sender, wenn die zu verwendende WSDL-Datei nicht anhand anderer Kriterien eindeutig ermittelt werden kann.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:simpleType name="nachrichtentyp">
      <xs:annotation>
         <xs:appinfo>
            <codeliste>
               <nameLang>Nachrichtentyp</nameLang>
               <nameKurz>Nachrichtentyp</nameKurz>
               <nameTechnisch>nachrichtentyp</nameTechnisch>
               <kennung>urn:xoev-de:d-nrw:codeliste:nachrichtentyp</kennung>
               <beschreibung>Diese Codeliste dient zum Abbilden des Nachrichtentyps.</beschreibung>
               <herausgebernameLang>d-NRW AöR</herausgebernameLang>
               <herausgebernameKurz>d-NRW</herausgebernameKurz>
            </codeliste>
            <versionCodeliste>
               <version>1</version>
               <beschreibung>Initiale Version</beschreibung>
               <datumGueltigkeitAb>2023-11-01</datumGueltigkeitAb>
               <versionCodelistenHandbuch>1.2</versionCodelistenHandbuch>
               <aenderungZurVorversion>Keine</aenderungZurVorversion>
            </versionCodeliste>
            <codelistenspalten>
               <Key>
                  <datentyp>string</datentyp>
                  <codeSpalte>true</codeSpalte>
                  <verwendung>required</verwendung>
                  <empfohleneCodeSpalte>true</empfohleneCodeSpalte>
               </Key>
               <Nachrichtentyp>
                  <datentyp>string</datentyp>
                  <codeSpalte>false</codeSpalte>
                  <verwendung>required</verwendung>
                  <empfohleneCodeSpalte>false</empfohleneCodeSpalte>
               </Nachrichtentyp>
            </codelistenspalten>
         </xs:appinfo>
      </xs:annotation>
      <xs:restriction base="xs:token">
         <xs:enumeration value="1000001">
            <xs:annotation>
               <xs:appinfo>
                  <Nachrichtentyp>vorgang.transportieren.1000001</Nachrichtentyp>
               </xs:appinfo>
            </xs:annotation>
         </xs:enumeration>
         <xs:enumeration value="1000002">
            <xs:annotation>
               <xs:appinfo>
                  <Nachrichtentyp>vorgang.aenderung.1000002</Nachrichtentyp>
               </xs:appinfo>
            </xs:annotation>
         </xs:enumeration>
         <xs:enumeration value="1000003">
            <xs:annotation>
               <xs:appinfo>
                  <Nachrichtentyp>vorgang.nachricht.1000003</Nachrichtentyp>
               </xs:appinfo>
            </xs:annotation>
         </xs:enumeration>
         <xs:enumeration value="1000004">
            <xs:annotation>
               <xs:appinfo>
                  <Nachrichtentyp>vorgang.quittung.1000004</Nachrichtentyp>
               </xs:appinfo>
            </xs:annotation>
         </xs:enumeration>
         <xs:enumeration value="1000008">
            <xs:annotation>
               <xs:appinfo>
                  <Nachrichtentyp>vorgang.statusabfrage.1000008</Nachrichtentyp>
               </xs:appinfo>
            </xs:annotation>
         </xs:enumeration>
         <xs:enumeration value="1001001">
            <xs:annotation>
               <xs:appinfo>
                  <Nachrichtentyp>allgemein.rueckweisung.1001001</Nachrichtentyp>
               </xs:appinfo>
            </xs:annotation>
         </xs:enumeration>
      </xs:restriction>
   </xs:simpleType>
</xs:schema>
