<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:xpassausweis="http://www.osci.de/xpassausweis2705"
           xmlns:din91379="urn:xoev-de:kosit:xoev:datentyp:din-91379_2022-08"
           xmlns:xida="http://www.osci.de/xinneres/datum/2"
           xmlns:xilb="http://www.osci.de/xinneres/lichtbild/3"
           targetNamespace="http://www.osci.de/xpassausweis2705"
           version="27.05"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
   <xs:annotation>
      <xs:appinfo>
         <standard>
            <nameLang>XPassAusweis</nameLang>
            <nameKurz>XPassAusweis</nameKurz>
            <nameTechnisch>xpassausweis</nameTechnisch>
            <kennung>urn:xoev-de:kosit:standard:xinneres.xpassausweis</kennung>
            <beschreibung>XpassAusweis ist ein Standard für die Datenübermittlung von Pass-, Personalausweis und eID-Kartebehörden.</beschreibung>
         </standard>
         <versionStandard>
            <version>27.05</version>
            <versionXOEVProfil>3.0.3</versionXOEVProfil>
            <versionXOEVHandbuch>2.4</versionXOEVHandbuch>
            <versionXGenerator>3.0.1</versionXGenerator>
            <versionModellierungswerkzeug>19.0 SP 4</versionModellierungswerkzeug>
            <nameModellierungswerkzeug>MagicDraw</nameModellierungswerkzeug>
         </versionStandard>
      </xs:appinfo>
   </xs:annotation>
   <xs:include schemaLocation="xpassausweis-codes.xsd"/>
   <xs:import schemaLocation="http://www.osci.de/xinneres/datum/2/xinneres-datum.xsd"
              namespace="http://www.osci.de/xinneres/datum/2"/>
   <xs:import schemaLocation="http://www.osci.de/xinneres/lichtbild/3/xinneres-lichtbild.xsd"
              namespace="http://www.osci.de/xinneres/lichtbild/3"/>
   <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="Auskunft">
      <xs:annotation>
         <xs:documentation>Mit diesem Datentyp werden die Informationen zur Auskunft abgebildet.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="ergebnisstatus"
                     type="xpassausweis:Code.Datenabruf.Ergebnisstatus">
            <xs:annotation>
               <xs:documentation>Mit diesem Element wird der Ergebnisstatus zur Suchanfrage übermittelt.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="lichtbild" minOccurs="0" type="xilb:Lichtbild">
            <xs:annotation>
               <xs:documentation>Dieses Element enthält das Lichtbild zur Suchanfrage.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="Auswahldaten">
      <xs:annotation>
         <xs:documentation>Mit diesem Datentyp werden die Auswahldaten für die Suchanfrage im Kontext des Datenabrufs nach § 22a Abs. 2 PassG bzw. § 25 Abs. 2 PAuswG abgebildet.</xs:documentation>
      </xs:annotation>
      <xs:choice>
         <xs:element name="personendatenUndDokumentendaten"
                     type="xpassausweis:PersonendatenUndDokumentendaten">
            <xs:annotation>
               <xs:documentation>In diesem Element sind die Personen- und Dokumendaten zur Suchanfrage anzugeben.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="seriennummer" type="xpassausweis:String.Seriennummer">
            <xs:annotation>
               <xs:documentation>In diesem Element ist die Seriennummer des Dokumentes zuzüglich der Prüfziffer aus der maschinenlesbaren Zone anzugeben. Dabei enthalten vorläufige und reguläre Dokumente 10 Zeichen.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:choice>
   </xs:complexType>
   <xs:complexType name="Email">
      <xs:annotation>
         <xs:documentation>Dieser Typ beschreibt die Übertragung einer E-Mail-Adresse oder die Bestätigung, dass diese gelöscht wurde.</xs:documentation>
      </xs:annotation>
      <xs:choice>
         <xs:element name="emailAdresse" type="din91379:datatypeC">
            <xs:annotation>
               <xs:documentation>Mit diesem Element wird die E-Mail-Adresse zu einem Dokument übertragen. Nur die E-Mail-Adresse, die für die allgemeine Kommunikation (nicht Direktversand) mit dem Bürger verwendet wird, darf übermittelt werden.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="emailAdresseGeloescht" fixed="true" type="xs:boolean">
            <xs:annotation>
               <xs:documentation>Dieses Feld ist immer "true" und wird im Falle einer erfolgten Löschung einer E-Mail-Adresse gesendet.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:choice>
   </xs:complexType>
   <xs:complexType name="PersonendatenUndDokumentendaten">
      <xs:annotation>
         <xs:documentation>Mit diesem Datentyp werden die Personen- und Dokumentendaten für die Suchanfrage im Kontext des Datenabrufs nach § 22a Abs. 2 PassG bzw. § 25 Abs. 2 PAuswG abgebildet.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="nachname" type="din91379:datatypeC">
            <xs:annotation>
               <xs:documentation>Hier ist der Familienname anzugeben.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="vornamen" type="din91379:datatypeC">
            <xs:annotation>
               <xs:documentation>Hier sind die Vornamen vollständig anzugeben.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="geburtsdatum" type="xida:TeilbekanntesDatum">
            <xs:annotation>
               <xs:documentation>Hier ist das Geburtsdatum anzugeben.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="dokumentLetzterTagDerGueltigkeit" type="xs:date">
            <xs:annotation>
               <xs:documentation>Hier ist das Datum anzugeben, bis zu dem das Dokument gültig ist.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="PlausibilisierteSeriennummer">
      <xs:annotation>
         <xs:documentation>Die plausibilisierte Seriennummer setzt sich aus der Seriennummer des Dokuments und dem auf dem Dokument vermerkten Geburtsdatum zusammen.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="geburtsdatum" type="xida:TeilbekanntesDatum">
            <xs:annotation>
               <xs:documentation>Mit diesem Element wird das zu suchende Geburtsdatum übermittelt. § 21 Abs. 2 Nr. 5 PassG und § 23 Abs. 3 Nr. 4 PAuswG</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="seriennummer" type="xpassausweis:String.Seriennummer">
            <xs:annotation>
               <xs:documentation>Mit diesem Element wird die zu suchende Seriennummer übermittelt. § 21 Abs. 2 Nr. 10 PassG und § 23 Abs. 3 Nr. 11 PAuswG</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:simpleType name="String.Seriennummer">
      <xs:annotation>
         <xs:documentation>Mit diesem Typ wird die Seriennummer eines Dokumentes abgebildet. Erlaubt sind 10 Zeichen. Für zentral ausgestellte Dokumente der Bundesdruckerei sind ausschließlich die Buchstaben C, F, G, H, J, K, L, M, N, P, R, T, V, W, X, Y, Z und die Ziffern 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 erlaubt. Für Kinderreisepass, vorläufigen Reisepass, vorläufigen Dienstpass, vorläufigen Diplomatenpass, vorläufigen Personalausweis und beim Ersatz-Personalausweis wird die Seriennummer aus einem Buchstaben, gefolgt von einem Leerzeichen und einer achtstelligen Zahl gebildet. Beide Varianten enthalten an der letzten Stelle eine Prüfziffer.</xs:documentation>
      </xs:annotation>
      <xs:restriction base="xs:string">
         <xs:pattern value="([A-Z]{1}[ ]{1}[0-9]{8})|([CFGHJKLMNPRTVWXYZ0-9]{10})"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:complexType name="SuchanfrageAntwort">
      <xs:annotation>
         <xs:documentation>Mit diesem Datentyp werden die Informationen zur Antwort auf die Suchanfrage abgebildet. Die Antwort auf die Suchanfrage enthält entweder Informationen dazu, warum die Auskunft nicht erteilt werden kann oder die Daten selbst.</xs:documentation>
      </xs:annotation>
      <xs:choice>
         <xs:element name="rueckweisung" type="xpassausweis:SuchanfrageNichtMoeglich">
            <xs:annotation>
               <xs:documentation>Mit diesem Element wird mitgeteilt, warum die Suchanfrage zurückgewiesen wird.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="auskunft" type="xpassausweis:Auskunft">
            <xs:annotation>
               <xs:documentation>Mit diesem Element wird das Suchergebnis der auskunftgebenden Stelle mitgeteilt.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:choice>
   </xs:complexType>
   <xs:complexType name="SuchanfrageNichtMoeglich">
      <xs:annotation>
         <xs:documentation>Mit diesem Datentyp werden Informationen zur nicht ausgeführten Suchanfrage abgebildet.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="grundDerRueckweisung"
                     type="xpassausweis:Code.Datenabruf.NichtbeantwortungGrund">
            <xs:annotation>
               <xs:documentation>Mit diesem Element wird der Grund angegeben, warum die Suchanfrage nicht durchgeführt werden kann.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="freitext" minOccurs="0" type="din91379:datatypeC">
            <xs:annotation>
               <xs:documentation>Mit diesem Element kann eine möglichst genaue Beschreibung des Fehlers übermittelt werden.</xs:documentation>
            </xs:annotation>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
</xs:schema>
