<?xml version=“1.0” encoding=“utf-8”?> <xs:schema version=“1.5.0”

  targetNamespace="http://vdv/ka/pkm/1" 
  xmlns:tns="http://vdv/ka/pkm/1"
  xmlns:ion="http://vdv/ka/ion/2"
  xmlns:ct="http://vdv/ka/common/types/2" 
  xmlns:ka="http://vdv/ka/common/2"
  xmlns:pkm="http://vdv/ka/pkm/1"
  xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://vdv/ka/common/types/2" schemaLocation="../../../ka/common/types/2/XML-Schema_Common_Types.xsd" />
  <xs:import namespace="http://vdv/ka/common/2" schemaLocation="../../../ka/common/2/XML-Schema_KA_Common.xsd" />
  <xs:import namespace="http://vdv/ka/ion/2" schemaLocation="../../../ka/ion/2/XML-Schema_ION.xsd" />
  <xs:include xmlns="http://vdv/ka/pkm/1" schemaLocation="../../../ka/pkm/1/XML-Schema_PKM.xsd"/>
<xs:simpleType name="Modulversion_NUMMER">
  <xs:annotation>
      <xs:documentation>
          Die Modulversion_NUMMER identifiziert einen Ergebnisstand innerhalb eines Entwicklungszyklus.
          Eine gueltige Modulversion_NUMMER ist groeßer als 0.            
      </xs:documentation>
  </xs:annotation>
  <xs:restriction base="ct:ReferenceNumberFour"/>
</xs:simpleType>
<xs:simpleType name="Modulstatus_CODE">
  <xs:annotation>
    <xs:documentation>
      Der Modulstatus_CODE gibt den Bearbeitungsstatus eines Produkt- oder Kontrollmoduls an.
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="ct:ReferenceNumberOne">
    <xs:enumeration value="0">
      <xs:annotation>
        <xs:documentation>Undefiniert</xs:documentation>
      </xs:annotation>
    </xs:enumeration>
    <xs:enumeration value="1">
      <xs:annotation>
        <xs:documentation>Entwurf</xs:documentation>
      </xs:annotation>
    </xs:enumeration>
    <xs:enumeration value="2">
      <xs:annotation>
        <xs:documentation>Freigegeben</xs:documentation>
      </xs:annotation>
    </xs:enumeration>
  </xs:restriction>
</xs:simpleType>
<xs:complexType name="TX_MODUL" abstract="true">
  <xs:annotation>
    <xs:documentation>
         Ein TX_MODUL gilt für alle Transaktionsdatensaetze zur Verteilung von Produkt- und Kontrollmodulen. 
         Dieser Datensatz enthaelt Auszuege aus den Modul- und Versionsdaten eines Moduls.      
    </xs:documentation>
  </xs:annotation>
  <xs:sequence>
      <xs:element name="modulgueltigkeitsbeginn" type="ct:DateTimeCompact"/>
      <xs:element name="modulversion" type="tns:Modulversion_NUMMER"/>        
      <xs:element name="modulstatus" type="tns:Modulstatus_CODE"/>
      <xs:element name="schnittstellenversion" type="tns:Modulversion_NUMMER"/>
      <xs:element name="modulnamenszusatz" type="ion:PrintableString"/>
      <xs:element name="bemerkung" type="ion:PrintableString"/>
  </xs:sequence>
</xs:complexType>
<xs:complexType name="TX_MODUL_Daten">
  <xs:annotation>
    <xs:documentation>
      Ein TX_MODUL_Daten ist die Auspraegung eines TX_MODUL, 
      der genau dann verwendet wird, wenn der Transaktionsdatensatz
       zur Verteilung von Produkt- bzw. Kontrollmodul ein 
       entsprechendes Modul enthaelt.
    </xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="tns:TX_MODUL" />
  </xs:complexContent>
</xs:complexType>  
<xs:complexType name="TX_MODUL_Bereitstellung">
  <xs:annotation>
    <xs:documentation>
      Ein TX_MODUL_Bereitstellung ist die Auspraegung eines TX_MODUL, 
      wenn der Transaktionsdatensatz zur Verteilung von Produkt- bzw. 
      Kontrollmodul kein Modul, sondern nur Informationen zum Download 
      des entsprechenden Moduls enthaelt.
    </xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="tns:TX_MODUL">
      <xs:sequence>
          <xs:element name="url" type="ion:PrintableString"></xs:element>
          <xs:element name="bereitstellungsdatum" type="ct:DateCompact"></xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>  
<xs:complexType name="TX_MODUL_Lieferung">
  <xs:annotation>
    <xs:documentation>
      Ein TX_MODUL_Lieferung ist die Auspraegung eines TX_MODUL, 
      wenn der Transaktionsdatensatz zur Verteilung von Produkt- bzw. 
      Kontrollmodul kein Modul, sondern Angaben zur anderweitigen 
      Lieferung des entsprechenden Moduls enthaelt.
    </xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="tns:TX_MODUL">
      <xs:sequence>
          <xs:element name="lieferart" type="ion:PrintableString"></xs:element>
          <xs:element name="sendedatum" type="ct:DateCompact"></xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
<xs:complexType name="TXVPVPM_Type">
  <xs:annotation>
    <xs:documentation>
        Verteilung von PV-Produktmodulen, auf deren Basis die Preisberechnung 
        fuer die ausgegebenen Berechtigungen erfolgt. 
    </xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ion:TX_BASE_Type">
    <xs:sequence>
      <xs:element name="modulinformation" type="tns:TX_MODUL"/>
      <xs:element name="pvproduktmodul" type="pkm:XML-PVPM"/>
    </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
<xs:complexType name="TXVKVPPM_Type">
  <xs:annotation>
    <xs:documentation>
      Verteilung von KVP-Produktmodulen.
    </xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ion:TX_BASE_Type">
    <xs:sequence>
      <xs:element name="modulinformation" type="tns:TX_MODUL"/>
      <xs:element name="kvpproduktmodul" type="pkm:XML-KVPPM"/>
    </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
<xs:complexType name="TXVPVKM_Type">
  <xs:annotation>
    <xs:documentation>
       Verteilung von PV-Kontrollmodulen, auf deren Basis die Kontrolle fuer 
       die ausgegebenen Berechtigungen erfolgt.
    </xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ion:TX_BASE_Type">
    <xs:sequence>
      <xs:element name="modulinformation" type="tns:TX_MODUL"/>
      <xs:element name="pvkontrollmodul" type="pkm:XML-PVKM"/>
    </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
<xs:complexType name="TXVDLKM_Type">
  <xs:annotation>
    <xs:documentation>
      Verteilung von DL-Kontrollmodulen.
    </xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="ion:TX_BASE_Type">
    <xs:sequence>
      <xs:element name="modulinformation" type="tns:TX_MODUL"/>
      <xs:element name="dlkontrollmodul" type="pkm:XML-DLKM"/>
    </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
<xs:element name="TXVPVPM" type="tns:TXVPVPM_Type">
  <xs:annotation>
      <xs:documentation>
          Element zur Verwendung im ION (WSDL). Verteilung von PV-Produktmodulen, 
          auf deren Basis die Preisberechnung fuer die ausgegebenen Berechtigungen erfolgt.
      </xs:documentation>
  </xs:annotation>
</xs:element>
<xs:element name="TXVKVPPM" type="tns:TXVKVPPM_Type">
  <xs:annotation>
      <xs:documentation>
          Element zur Verwendung im Terminal. Verteilung von KVP-Produktmodulen.
      </xs:documentation>
  </xs:annotation>
</xs:element>
<xs:element name="TXVPVKM" type="tns:TXVPVKM_Type">
  <xs:annotation>
      <xs:documentation>
          Element zur Verwendung im ION (WSDL). Verteilung von PV-Kontrollmodulen, 
          auf deren Basis die Kontrolle fuer die ausgegebenen Berechtigungen erfolgt.
      </xs:documentation>
  </xs:annotation>
</xs:element>
<xs:element name="TXVDLKM" type="tns:TXVDLKM_Type">
  <xs:annotation>
      <xs:documentation>
          Element zur Verwendung im Terminal. Verteilung von DL-Kontrollmodulen.
      </xs:documentation>
  </xs:annotation>
</xs:element>

</xs:schema>