<?xml version="1.0" encoding="iso-8859-15"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Veranstaltung">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="VNR" type="VNR"/>
                <xs:element name="Meldungsart" type="Meldungsart"/>
                <xs:element name="Teilnehmeranzahl" type="Teilnehmeranzahl"/>
                <xs:element name="EMAIL" type="EMAIL" minOccurs="0"/>
                <xs:element minOccurs="0" maxOccurs="unbounded" ref="Teilnehmer"/>
            </xs:sequence>
        </xs:complexType>
        <xs:unique name="UnterschiedlicheTeilnehmer">
            <xs:selector xpath=".//Teilnehmer"/>
            <xs:field xpath="EFN"/>
        </xs:unique>
    </xs:element>
    <xs:simpleType name="VNR">
        <xs:restriction base="xs:string">
            <xs:length value="19"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Meldungsart">
        <xs:restriction base="xs:string">
            <xs:length value="1"/>
            <xs:pattern value="(K|N|L)"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Teilnehmeranzahl">
        <xs:restriction base="xs:int">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="9999"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="EMAIL">
        <xs:restriction base="xs:string">
            <xs:pattern
                value="([a-zA-Z0-9äöüÄÖÜß_\.\-])*@(([a-zA-Z0-9äöüÄÖÜß_\-]*)\.)+([a-zA-Z]{2,6})"
                />
        </xs:restriction>
    </xs:simpleType>
    <xs:element name="Teilnehmer">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="EFN" type="EFN"/>
                <xs:element name="Punkte_Basis_JN" type="JaNein"/>
                <xs:element name="Punkte_Zusatz_Lernkontrolle_JN" type="JaNein"/>
                <xs:element name="Punkte_Interaktivitaet_JN" type="JaNein"/>
                <xs:element name="Punkte_Referent" type="Punkte"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:simpleType name="EFN">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="30"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="JaNein">
        <xs:restriction base="xs:string">
            <xs:length value="1"/>
            <xs:pattern value="(J|N)"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="Punkte">
        <xs:restriction base="xs:int">
            <xs:minInclusive value="0"/>
            <xs:maxInclusive value="99"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>

