﻿<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="xs3p.xsl" ?>
<xs:schema targetNamespace="bmbf.gv.at/lia/adminass" 
           elementFormDefault="qualified"
           xmlns="bmbf.gv.at/lia/adminass"
           xmlns:mstns="bmbf.gv.at/lia/adminass"
           xmlns:xs="http://www.w3.org/2001/XMLSchema" 
           version="010923">
    <xs:annotation>
        <xs:documentation>AdminAssistenz</xs:documentation>
    </xs:annotation>
    <xs:element name="LehrerMeldung" type="LehrerMeldungType" />
    <xs:complexType name="LehrerMeldungType">
        <xs:annotation>
            <xs:documentation>Eine Meldung für Landeslehrpersoneninformation Austria</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Lehrer" type="LehrerType" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
        <xs:attribute name="meldedatum" type="xs:date" use="required">
            <xs:annotation>
                <xs:documentation>Datum der Meldung</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="meldeart" type="meldeartDef" use="required">
            <xs:annotation>
                <xs:documentation>Art der Meldung [n|k]</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="absender" type="BLEnum" use="required">
            <xs:annotation>
                <xs:documentation>Absender der Meldung.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="schuljahr" type="schuljahrDef" use="required">
            <xs:annotation>
                <xs:documentation>Laufendes Schuljahr (Bsp.:2014/15)</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="monat" type="MOEnum" use="required">
            <xs:annotation>
                <xs:documentation>Berichtsmonat</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <xs:complexType name="LehrerType">
        <xs:annotation>
            <xs:documentation>Eintrag für einen Lehrer</xs:documentation>
        </xs:annotation>
    
            <xs:attribute name="PERS" type="string20" use="required">
                <xs:annotation>
                    <xs:documentation>Personalnummer</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="SKZ" type="skzDef" use="required">
                <xs:annotation>
                    <xs:documentation>Schulkennzahl der Stammschule bzw. des Clusters (gemäß der vom Bundesminister für Bildung, Wissenschaft und Forschung zur Verfügung gestellten österreichischen Schulendatei)</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="SKZ2_1" type="skzDef" use="optional">
                <xs:annotation>
                    <xs:documentation>Die Eingabe von mehreren Schulkennzahlen ist möglich.</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="SKZ2_2" type="skzDef" use="optional">
                <xs:annotation>
                    <xs:documentation>Die Eingabe von mehreren Schulkennzahlen ist möglich.</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="SKZ2_3" type="skzDef" use="optional">
                <xs:annotation>
                    <xs:documentation>Die Eingabe von mehreren Schulkennzahlen ist möglich.</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="SKZ2_4" type="skzDef" use="optional">
                <xs:annotation>
                    <xs:documentation>Die Eingabe von mehreren Schulkennzahlen ist möglich.</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="SKZ2_5" type="skzDef" use="optional">
                <xs:annotation>
                    <xs:documentation>Die Eingabe von mehreren Schulkennzahlen ist möglich.</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="SKZ2_6" type="skzDef" use="optional">
                <xs:annotation>
                    <xs:documentation>Die Eingabe von mehreren Schulkennzahlen ist möglich.</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="SKZ2_7" type="skzDef" use="optional">
                <xs:annotation>
                    <xs:documentation>Die Eingabe von mehreren Schulkennzahlen ist möglich.</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="SKZ2_8" type="skzDef" use="optional">
                <xs:annotation>
                    <xs:documentation>Die Eingabe von mehreren Schulkennzahlen ist möglich.</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="SART" type="SARTEnum" use="required">
                <xs:annotation>
                    <xs:documentation>Schulart</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="GEB" type="xs:dateTime" use="required">
                <xs:annotation>
                    <xs:documentation>Geburtsdatum</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="SEX" type="SEXEnum" use="required">
                <xs:annotation>
                    <xs:documentation>Geschlecht</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="ART1" type="ART1Enum" use="required">
                <xs:annotation>
                    <xs:documentation>Art des Dienstverhältnisses</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="STAT" type="STATEnum" use="required">
                <xs:annotation>
                    <xs:documentation>Status mit Stichtag</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="SCHEMA" type="string20" use="required">
                <xs:annotation>
                    <xs:documentation>Bezeichnung der jeweiligen Einstufung pro Bundesland</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="STUFE" type="xs:integer" use="required">
                <xs:annotation>
                    <xs:documentation>Besoldungs- bzw. Gehaltsstufe</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="EIN" type="xs:dateTime" use="required">
                <xs:annotation>
                    <xs:documentation>Eintrittsdatum</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="AUS" type="xs:dateTime" use="optional">
                <xs:annotation>
                    <xs:documentation>Austrittsdatum</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="PE_DAT" type="xs:dateTime" use="optional">
                <xs:annotation>
                    <xs:documentation>Pensionierungsdatum</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="BAUSM" type="decimal6.2" use="required">
                <xs:annotation>
                    <xs:documentation>Beschäftigungsausmaß</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="BAUSMK" type="decimal6.2" use="required">
                <xs:annotation>
                    <xs:documentation>Korrektur des Beschäftigungsausmaßes</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="MDL" type="decimal6.2" use="required">
                <xs:annotation>
                    <xs:documentation>Gesamtstundenanzahl der ausbezahlten Mehrdienstleistungen</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="G_MDL" type="decimal8.2" use="required">
                <xs:annotation>
                    <xs:documentation>Abgeltung für Mehrdienstleistungen</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="PERSAUFW" type="decimal8.2" use="required">
                <xs:annotation>
                    <xs:documentation>Personalaufwand: im Berichtsmonat bis zum Stichtag angefallener Brutto-Zahlungsfluss inklusive Zulagen, Sonderzahlungen, Dienstgeberbeiträge und Pensionsbeiträge</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="DGB" type="decimal8.2" use="required">
                <xs:annotation>
                    <xs:documentation>Dienstgeberbeiträge</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="JUZU" type="decimal8.2" use="required">
                <xs:annotation>
                    <xs:documentation>Jubiläumszuwendung</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="BELO" type="decimal8.2" use="required">
                <xs:annotation>
                    <xs:documentation>Belohnung</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="REKO" type="decimal8.2" use="required">
                <xs:annotation>
                    <xs:documentation>Reisekosten</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="FAKO" type="decimal8.2" use="required">
                <xs:annotation>
                    <xs:documentation>Fahrtkostenzuschuss</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="KIZU" type="decimal8.2" use="required">
                <xs:annotation>
                    <xs:documentation>Kinderzuschuss</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="AUFW" type="decimal8.2" use="required">
                <xs:annotation>
                    <xs:documentation>Aufwandsentschädigung</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
            <xs:attribute name="ABFE" type="decimal8.2" use="required">
                <xs:annotation>
                    <xs:documentation>Abfertigung</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        
    </xs:complexType>

    <!-- Enumerations -->

    
    <xs:simpleType name="MOEnum">
        <xs:annotation>
            <xs:documentation>Berichtsmonat</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:integer">
            
                            <xs:enumeration value="1">
                                <xs:annotation>
                                    <xs:documentation>Jänner</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="2">
                                <xs:annotation>
                                    <xs:documentation>Februar</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="3">
                                <xs:annotation>
                                    <xs:documentation>März</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="4">
                                <xs:annotation>
                                    <xs:documentation>April</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="5">
                                <xs:annotation>
                                    <xs:documentation>Mai</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="6">
                                <xs:annotation>
                                    <xs:documentation>Juni</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="7">
                                <xs:annotation>
                                    <xs:documentation>Juli</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="8">
                                <xs:annotation>
                                    <xs:documentation>August</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="9">
                                <xs:annotation>
                                    <xs:documentation>September</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="10">
                                <xs:annotation>
                                    <xs:documentation>Oktober</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="11">
                                <xs:annotation>
                                    <xs:documentation>November</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="12">
                                <xs:annotation>
                                    <xs:documentation>Dezember</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="BLEnum">
        <xs:annotation>
            <xs:documentation>Bundesland</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:integer">
            
                            <xs:enumeration value="1">
                                <xs:annotation>
                                    <xs:documentation>Burgenland</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="2">
                                <xs:annotation>
                                    <xs:documentation>Kärnten</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="3">
                                <xs:annotation>
                                    <xs:documentation>Niederösterreich</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="4">
                                <xs:annotation>
                                    <xs:documentation>Oberösterreich</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="5">
                                <xs:annotation>
                                    <xs:documentation>Salzburg</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="6">
                                <xs:annotation>
                                    <xs:documentation>Steiermark</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="7">
                                <xs:annotation>
                                    <xs:documentation>Tirol</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="8">
                                <xs:annotation>
                                    <xs:documentation>Vorarlberg</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="9">
                                <xs:annotation>
                                    <xs:documentation>Wien</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="SARTEnum">
        <xs:annotation>
            <xs:documentation>Schulart</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:integer">
            
                            <xs:enumeration value="1">
                                <xs:annotation>
                                    <xs:documentation>Volksschule</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="2">
                                <xs:annotation>
                                    <xs:documentation>Mittelschule</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="3">
                                <xs:annotation>
                                    <xs:documentation>Sonderschule</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="4">
                                <xs:annotation>
                                    <xs:documentation>Polytechnische Schule</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="SEXEnum">
        <xs:annotation>
            <xs:documentation>Geschlecht</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            
                            <xs:enumeration value="M">
                                <xs:annotation>
                                    <xs:documentation>männlich</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="W">
                                <xs:annotation>
                                    <xs:documentation>weiblich</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="X">
                                <xs:annotation>
                                    <xs:documentation>divers</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="ART1Enum">
        <xs:annotation>
            <xs:documentation>Art des Dienstverhältnisses</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:integer">
            
                            <xs:enumeration value="1">
                                <xs:annotation>
                                    <xs:documentation>pragmatisch</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="2">
                                <xs:annotation>
                                    <xs:documentation>vertraglich - unbefristet</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="3">
                                <xs:annotation>
                                    <xs:documentation>vertraglich - befristet</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="STATEnum">
        <xs:annotation>
            <xs:documentation>Status mit Stichtag</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            
                            <xs:enumeration value="AK">
                                <xs:annotation>
                                    <xs:documentation>Aktive</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="KU">
                                <xs:annotation>
                                    <xs:documentation>Karenziert</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="FH">
                                <xs:annotation>
                                    <xs:documentation>Familienhospizfreistellung</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="MU">
                                <xs:annotation>
                                    <xs:documentation>Mutterschutz</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="SO">
                                <xs:annotation>
                                    <xs:documentation>Sonderurlaub (keine Einzelfälle)</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="SU">
                                <xs:annotation>
                                    <xs:documentation>Suspendiert</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
                            <xs:enumeration value="NV">
                                <xs:annotation>
                                    <xs:documentation>Nachverrechnung: : nur dann einzugeben, wenn kein anderes Attribut zutrifft; d.h. nur bei bereits ausgeschiedenen Personen (Pensionierung, Austritt), welche eine Nachzahlung erhalten</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        
        </xs:restriction>
    </xs:simpleType>

    
    <!-- Predefined types -->

    <xs:simpleType name="string20">
        <xs:annotation>
            <xs:documentation>String mit max. 20 Zeichen</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:maxLength value="20" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="schuljahrDef">
        <xs:annotation>
            <xs:documentation>Beispiel: 2013/14</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="((((19)|(20))\d\d)|(\d\d))/[0-9]{2}" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="skzDef">
        <xs:annotation>
            <xs:documentation>Zahl zwischen 100000 und 999999</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:int">
            <xs:minInclusive value="100000" />
            <xs:maxInclusive value="999999" />
        </xs:restriction>
    </xs:simpleType>
   
    <xs:simpleType name="geburtsjahrDef">
        <xs:annotation>
            <xs:documentation>Geburtsjahr 4-stellig</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:int">
            <xs:minInclusive value="1900" />
            <xs:maxInclusive value="2500" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="meldeartDef">
        <xs:restriction base="xs:string">
            <xs:enumeration value="n">
                <xs:annotation>
                    <xs:documentation>
                        Neumeldung. Sollte schon eine Meldung in der Datenbank für die Kombination (Absender, Schuljahr, Monat) existieren,
                        werden alle bestehenden Daten gelöscht und nur die neue Meldung gespeichert.
                    </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="k">
                <xs:annotation>
                    <xs:documentation>
                        Korrekturmeldung. Sollte schon eine Meldung in der Datenbank für die Kombination (Absender, Schuljahr, Monat) existieren,
                        so werden bestehende dsk überschrieben und neue hinzugefügt. In der Datenbank bestehende dsk, die aber nicht
                        in der Korrekturmeldung enthalten sind, bleiben unverändert erhalten.
                    </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="decimal6.2">
        <xs:annotation>
            <xs:documentation>insgesamt 6 Stellen (ohne Komma), davon 2 nach dem Komma - Bsp. 1234.56</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:decimal">
            <xs:totalDigits value="6" />
            <xs:fractionDigits value="2" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="decimal8.2">
        <xs:annotation>
            <xs:documentation>insgesamt 8 Stellen (ohne Komma), davon 2 nach dem Komma - Bsp. 123456.78</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:decimal">
            <xs:totalDigits value="8" />
            <xs:fractionDigits value="2" />
        </xs:restriction>
    </xs:simpleType>
</xs:schema>