<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:xwaffe-behoerden="http://www.xwaffe.de/schemata/behoerden/V2_9/"
           xmlns:xwaffe-kern="http://www.xwaffe.de/schemata/kern/V2_9/"
           targetNamespace="http://www.xwaffe.de/schemata/behoerden/V2_9/"
           attributeFormDefault="unqualified"
           version="2.9"
           elementFormDefault="qualified">
   <xs:annotation>
      <xs:appinfo>
         <standard>
            <nameLang>XWaffe – Standard für die elektronische Datenübermittlung im deutschen Waffenwesen</nameLang>
            <nameKurz>XWaffe</nameKurz>
            <nameTechnisch>xwaffe</nameTechnisch>
            <kennung>urn:xoev-de:bmi:standard:xwaffe</kennung>
            <beschreibung>Zur Unterstützung der effizienten und wirtschaftlichen Umsetzung durchgehender medienbruchfreier elektronischer Prozesse im deutschen Waffenwesen wird der Standard XWaffe erstellt. Grundlage der Kommunikation ist das Waffengesetz (WaffG) sowie das Waffenregistergesetz (WaffRG), sowie die zugehörigen Rechtsverordnungen (WaffRGDV). Mit Stand des WaffG und WaffRG vom 01. September 2020 werden die Meldepflichten von Inhabern waffenrechtlicher Erlaubnisse gem. §21 Abs. 1 WaffG (Händler, Hersteller) sowie die Übermittlungsanlässe der Waffenbehörden an das Nationale Waffenregister (NWR) unterstützt.</beschreibung>
         </standard>
         <versionStandard>
            <version>2.9</version>
            <beschreibung>Zur Unterstützung der effizienten und wirtschaftlichen Umsetzung durchgehender medienbruchfreier elektronischer Prozesse im deutschen Waffenwesen wird der Standard XWaffe erstellt. Grundlage der Kommunikation ist das Waffengesetz (WaffG) sowie das Waffenregistergesetz (WaffRG), sowie die zugehörigen Rechtsverordnungen (WaffRGDV). Mit Stand des WaffG und WaffRG vom 01. September 2020 werden die Meldepflichten von Inhabern waffenrechtlicher Erlaubnisse gem. §21 Abs. 1 WaffG (Händler, Hersteller) sowie die Übermittlungsanlässe der Waffenbehörden an das Nationale Waffenregister (NWR) unterstützt.</beschreibung>
            <versionXOEVHandbuch>4.0.0</versionXOEVHandbuch>
            <nameModellierungswerkzeug>MagicDraw</nameModellierungswerkzeug>
            <versionModellierungswerkzeug>19.0 SP4</versionModellierungswerkzeug>
         </versionStandard>
      </xs:appinfo>
      <xs:documentation>Dieser Nachrichtentyp ist für Meldungen des NWR an die ÖWS vorgesehen. Im aktuellen Stand der XWaffe-Spezifikation können Rückmeldungen Ergebnisse von den folgenden Mitteilungen sein. Objekt.neu Objekt.fortschreiben Objekt.korrigieren Objekt.sofortstorno Objekt.zustaendigkeitswechsel Objekt.erstbefuellung Objekt.loeschen</xs:documentation>
   </xs:annotation>
   <xs:include schemaLocation="xwaffe-baukasten-behoerden.xsd"/>
   <xs:import schemaLocation="https://xwaffe.de/schemata/V2_9/xwaffe-basistypen.xsd"
              namespace="http://www.xwaffe.de/schemata/kern/V2_9/"/>
   <xs:element name="rueckmeldung.meldung.910">
      <xs:annotation>
         <xs:appinfo>
            <autor>Registerbehörde NWR</autor>
            <leser>ÖWS, Kopfstelle des NWR</leser>
         </xs:appinfo>
         <xs:documentation>Mit dieser Nachricht wird die Verarbeitung der zugehörigen Ausgangsnachricht zurückgemeldet. Im Fehlerfall sind die Informationen dem enthaltenen Datenfeld Fehlermeldung zu entnehmen. Bei erfolgreicher Verarbeitung werden im Regelfall die betroffene(n) NWRID's zurückgeliefert.</xs:documentation>
      </xs:annotation>
      <xs:complexType>
         <xs:sequence>
            <xs:element name="kopf" type="xwaffe-behoerden:Nachrichtenkopf">
               <xs:annotation>
                  <xs:documentation>Der Nachrichtenkopf umfasst allgemeine, technische Eigenschaften einer Nachricht, wie z.B. Erstellungszeitpunkt oder Tagesnachrichtenzähler.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registrierterVoreintragID"
                        minOccurs="0"
                        type="xwaffe-kern:String.nwrID">
               <xs:annotation>
                  <xs:documentation>Die ID zu einem registrierten Voreintrag.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registrierterWaffenverweisID"
                        minOccurs="0"
                        type="xwaffe-kern:String.nwrID">
               <xs:annotation>
                  <xs:documentation>Die ID zu einem registrierten Waffenverweis.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registrierteWaffeID"
                        minOccurs="0"
                        type="xwaffe-kern:String.nwrID">
               <xs:annotation>
                  <xs:documentation>Die ID zu einer registrierten Waffe.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registriertesWaffenteilID"
                        minOccurs="0"
                        type="xwaffe-kern:String.nwrID">
               <xs:annotation>
                  <xs:documentation>Die ID zu einem registrierten Waffenteil.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registrierteErlaubnisID"
                        minOccurs="0"
                        type="xwaffe-kern:String.nwrID">
               <xs:annotation>
                  <xs:documentation>Die ID zu einer registrierten Erlaubnis.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registrierteNatuerlichePersonID"
                        minOccurs="0"
                        type="xwaffe-kern:String.nwrID">
               <xs:annotation>
                  <xs:documentation>Die ID zu einer registrierten natürlichen Person.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registrierteNichtnatuerlichePersonID"
                        minOccurs="0"
                        type="xwaffe-kern:String.nwrID">
               <xs:annotation>
                  <xs:documentation>Die ID zu einer registrierten nichtnatürlichen Person.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registrierteBehoerdeID"
                        minOccurs="0"
                        type="xwaffe-kern:String.behoerdenID">
               <xs:annotation>
                  <xs:documentation>Die ID zu einer registrierten Behörde.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registrierterPersonenstammID"
                        minOccurs="0"
                        type="xwaffe-kern:String.nwrID">
               <xs:annotation>
                  <xs:documentation>Die ID zu einem registrierten Personenstamm.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registrierteAktivitaetID"
                        minOccurs="0"
                        maxOccurs="unbounded"
                        type="xwaffe-kern:String.nwrID">
               <xs:annotation>
                  <xs:documentation>Die ID zu einer registrierten ID.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registrierterVoreintragWaffenteilID"
                        minOccurs="0"
                        type="xwaffe-kern:String.nwrID">
               <xs:annotation>
                  <xs:documentation>Die ID zu einem registrierten Voreintrag eines Waffenteils.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registrierterHinweisID"
                        minOccurs="0"
                        type="xwaffe-kern:String.nwrID">
               <xs:annotation>
                  <xs:documentation>Die ID zum registrierten Hinweis</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registrierterAntragID"
                        minOccurs="0"
                        type="xwaffe-kern:String.nwrID">
               <xs:annotation>
                  <xs:documentation>Die ID zu einer registrierten Erlaubnis.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="stornoInformation"
                        minOccurs="0"
                        maxOccurs="unbounded"
                        type="xwaffe-behoerden:VerarbeitungsstatusStorno">
               <xs:annotation>
                  <xs:documentation>Liste mit dem Stornierungsstatus zu jedem Aktivitätsobjekt</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="fehlermeldung"
                        minOccurs="0"
                        maxOccurs="unbounded"
                        type="xwaffe-behoerden:FehlerRegister">
               <xs:annotation>
                  <xs:documentation>Diese Feld wird für Fehlermeldungen verwendet. In der vorliegenden Version von XWaffe werden nur Fehlermeldungen vom Register zum ÖWS definiert. Im allgemeinen kann zwischen verschiedenen Prüfungstypen/Fehlerarten unterschieden: Entitä tsprüfungen (prüfen ob alle MUSS-Entitäten vorhanden sind und Entitäten in der richtigen Anzahl vorhanden sind) Feldprüfungen (prüfen ob MUSS-Felder vorhanden sind und Felder in der richtigen Anzahl vorhanden sind) Datentypprüfungen (prüfen auf den richtigen Typ und die richtige Länge) Katalogwertprüfungen (prüfen ob der Wert in der zugehörigen aktuellen Katalogtabelle enthalten ist) Meldekombinationsprüfungen (prüft auf Kriterien die von anderen Werten abhängig sind, z.B. ob ein Datum hinter einem anderen übergebenen Datum liegt)</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="rueckmeldung.hinweis.911">
      <xs:annotation>
         <xs:appinfo>
            <autor>Registerbehörde NWR</autor>
            <leser>ÖWS, Kopfstelle des NWR</leser>
         </xs:appinfo>
         <xs:documentation>Mit dieser Nachricht wird die Verarbeitung eines Hinweises der zugehörigen Ausgangsnachricht zurückgemeldet. Im Fehlerfall sind die Informationen dem enthaltenen Datenfeld Fehlermeldung zu entnehmen. Bei erfolgreicher Verarbeitung werden im Regelfall die betroffene(n) NWRID's zurückgeliefert.</xs:documentation>
      </xs:annotation>
      <xs:complexType>
         <xs:sequence>
            <xs:element name="kopf" type="xwaffe-behoerden:Nachrichtenkopf">
               <xs:annotation>
                  <xs:documentation>Der Nachrichtenkopf umfasst allgemeine, technische Eigenschaften einer Nachricht, wie z.B. Erstellungszeitpunkt oder Tagesnachrichtenzähler.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="abfragendeBehoerdeID" type="xwaffe-kern:String.behoerdenID">
               <xs:annotation>
                  <xs:documentation>Die Ordnungsnummer (NWRID) der abfragenden Behörde, für die Hinweise bestimmt sind.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registrierteHinweisID"
                        minOccurs="0"
                        maxOccurs="unbounded"
                        type="xwaffe-kern:String.nwrID">
               <xs:annotation>
                  <xs:documentation>Die Ordnungsnummer (NWRID) eines für die abfragende Behörde registrierten Hinweises.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="fehlermeldung"
                        minOccurs="0"
                        maxOccurs="unbounded"
                        type="xwaffe-behoerden:FehlerRegister">
               <xs:annotation>
                  <xs:documentation>Diese Feld wird für Fehlermeldungen verwendet. In der vorliegenden Version von XWaffe werden nur Fehlermeldungen vom Register zum ÖWS definiert. Im Allgemeinen kann zwischen verschiedenen Prüfungstypen/Fehlerarten unterschieden werden: Entitä tsprüfungen (prüfen ob alle MUSS-Entitäten vorhanden sind und Entitäten in der richtigen Anzahl vorhanden sind) Feldprüfungen (prüfen ob MUSS-Felder vorhanden sind und Felder in der richtigen Anzahl vorhanden sind) Datentypprüfungen (prüfen auf den richtigen Typ und die richtige Länge) Katalogwertprüfungen (prüfen ob der Wert in der zugehörigen aktuellen Katalogtabelle enthalten ist) Meldekombinationsprüfungen (prüft auf Kriterien die von anderen Werten abhängig sind, z.B. ob ein Datum hinter einem anderen übergebenen Datum liegt)</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
      </xs:complexType>
   </xs:element>
   <xs:element name="rueckmeldung.datenuebernahme.920">
      <xs:annotation>
         <xs:appinfo>
            <autor>Registerbehörde NWR</autor>
            <leser>ÖWS, Kopfstelle des NWR</leser>
         </xs:appinfo>
         <xs:documentation>Entsprechend der Ausgangsnachricht z.B. Objekt.Zustaendigkeitswechsel() liefert diese Nachricht das Hauptobjekt des Zuständigkeitswechsels und alle davon abhängigen (untergeordneten) Objekte (Voreintrag, Waffenverweis, Waffe, natürliche Person, nichtnatürliche Person, Erlaubnis, Behörde) vom NWR an das ÖWS.</xs:documentation>
      </xs:annotation>
      <xs:complexType>
         <xs:sequence>
            <xs:element name="kopf" type="xwaffe-behoerden:Nachrichtenkopf">
               <xs:annotation>
                  <xs:documentation>Der Nachrichtenkopf umfasst allgemeine, technische Eigenschaften einer Nachricht, wie z.B. Erstellungszeitpunkt oder Tagesnachrichtenzähler.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="registrierteBehoerde"
                        minOccurs="0"
                        maxOccurs="unbounded"
                        type="xwaffe-behoerden:RegistrierteBehoerde">
               <xs:annotation>
                  <xs:documentation>Eine im NWR registrierte Behörde.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="obersteID" minOccurs="0" type="xwaffe-kern:String.nwrID">
               <xs:annotation>
                  <xs:documentation>NWRID des Objektes für das die Datenübernahme erfolgt, gleichzeitig oberstes Element des Baumes für die untergeordneten Elemente.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="zugeordneteID"
                        minOccurs="0"
                        maxOccurs="unbounded"
                        type="xwaffe-behoerden:ZugeordneteID">
               <xs:annotation>
                  <xs:documentation>Diese Liste enthält den Baum der untergeordneten Objekte des übernommenen Objekts.</xs:documentation>
               </xs:annotation>
            </xs:element>
            <xs:element name="fehlermeldung"
                        minOccurs="0"
                        maxOccurs="unbounded"
                        type="xwaffe-behoerden:FehlerRegister">
               <xs:annotation>
                  <xs:documentation>Diese Feld wird für Fehlermeldungen verwendet. In der vorliegenden Version von XWaffe werden nur Fehlermeldungen vom Register zum ÖWS definiert. Im Allgemeinen kann zwischen verschiedenen Prüfungstypen/Fehlerarten unterschieden werden: Entitä tsprüfungen (prüfen ob alle MUSS-Entitäten vorhanden sind und Entitäten in der richtigen Anzahl vorhanden sind) Feldprüfungen (prüfen ob MUSS-Felder vorhanden sind und Felder in der richtigen Anzahl vorhanden sind) Datentypprüfungen (prüfen auf den richtigen Typ und die richtige Länge) Katalogwertprüfungen (prüfen ob der Wert in der zugehörigen aktuellen Katalogtabelle enthalten ist) Meldekombinationsprüfungen (prüft auf Kriterien die von anderen Werten abhängig sind, z.B. ob ein Datum hinter einem anderen übergebenen Datum liegt)</xs:documentation>
               </xs:annotation>
            </xs:element>
         </xs:sequence>
      </xs:complexType>
   </xs:element>
</xs:schema>
