<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema id="SchemaPrijavaKreditov"
           targetNamespace="http://sid.si"
           elementFormDefault="qualified"
           xmlns="http://tempuri.org/Schema.xsd"
           xmlns:mstns="http://tempuri.org/Schema.xsd"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:sid="http://sid.si">



  <!-- root node -->
  <xs:element name="Porocilo">
    <xs:annotation>
      <xs:documentation>
        Prijava kreditov mesečno
      </xs:documentation>
    </xs:annotation>

    <xs:complexType>
      <xs:sequence>
        <xs:element name="Glava" type="sid:GlavaType" minOccurs="1" maxOccurs="1"></xs:element>
        <xs:element name="Zapis" type="sid:ZapisType" minOccurs="1" maxOccurs="unbounded"></xs:element>
      </xs:sequence>
    </xs:complexType>

  </xs:element>

  <!-- glava poročila node -->
  <xs:complexType name="GlavaType">
    <xs:all>
      <xs:element name="Posiljatelj" minOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Pošiljatelj
          </xs:appinfo>
          <xs:documentation>
            Ime in priimek kontatkne osebe.
            Podatek je omejen na dolžino do 100 znakov.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="100" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="DatumPorocila" type="xs:date" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Datum poročila
          </xs:appinfo>
          <xs:documentation>
            Datum poročila.
            Tip podatka je datum.
          </xs:documentation>
        </xs:annotation>
      </xs:element>

      <xs:element name="DatumPorocanja" type="xs:date" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Datum poročanja
          </xs:appinfo>
          <xs:documentation>
            Datum poročanja.
            Tip podatka je datum.
          </xs:documentation>
        </xs:annotation>
      </xs:element>

      <xs:element name="DavcnaStevilkaBanke" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Davčna številka banke
          </xs:appinfo>
          <xs:documentation>
            Podatek je omejen na dolžino točno 8 znakov.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value="8" />
            <xs:pattern value="[0-9]{1,8}"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

    </xs:all>
  </xs:complexType>


  <!-- zapis node -->
  <xs:complexType name="ZapisType">
    <xs:all>

      <xs:element name="DavcnaStevilkaKreditojemalca" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Davčna številka kreditojemalca
          </xs:appinfo>
          <xs:documentation>
            Podatek je omejen na dolžino točno 8 znakov.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value="8" />
            <xs:pattern value="[0-9]{1,8}"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="StevilkaPogodbeODodelitviJamstveneKvote" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Številka pogodbe o dodelitvi jamstvene kvote
          </xs:appinfo>
          <xs:documentation>
            Podatek je omejen na dolžino do 100 znakov.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="100" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="VisinaEomNaDanSklenitveKreditnePogodbe" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Višina EOM  na dan sklenitve kreditne pogodbe
          </xs:appinfo>
          <xs:documentation>
            Podatek se vpiše na dve decimalni mesti natančno.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:fractionDigits value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="TipObrestneMere" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Tip obrestne mere
          </xs:appinfo>
          <xs:documentation>
            Podatek je omejen na dolžino točno 2 znakov.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="VrstaReferencneObrestneMere" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Vrsta referenčne obrestne mere
          </xs:appinfo>
          <xs:documentation>
            Podatek je omejen na dolžino točno 3 znakov.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value="3" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="PribitekNadVariabilnoObrestnoMero" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Obrestna mera oz. pribitek nad variabilno obrestno mero v %
          </xs:appinfo>
          <xs:documentation>
            Pribitek nad variabilno obrestno mero je omejen med 0 in 100 odstotki.
            Natančnost podatka je omejena na 2 decimalni mesti.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" />
            <xs:maxInclusive value="100" />
            <xs:fractionDigits value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="ObcinaStalnegaPrebivaliscaKreditojemalca" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Občina stalnega prebivališča kreditojemalca
          </xs:appinfo>
          <xs:documentation>
            Podatek je omejen na dolžino točno 3 znakov.

            Upoštevati nabor dovoljenih vrednosti na  https://www.stat.si/doc/vprasalniki/SOL-O-ODR-priloga_2013.pdf.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value="3"></xs:length>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="NamenKredita1" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Namen kredita 1
          </xs:appinfo>
          <xs:documentation>
            Omogočeno je poročanje od enega do največ treh namenov. Minimalno število poročanih namenov je 1.
            Dovoljen nabor vrednosti je 1 - 6. Vrednosti se v istem zapisu ne smejo ponavljati.
            
            Nabor vrednosti in preslikave:
            1 - prvi nakup
            2 - gradnja
            3 - prenova
            4 - dograditev stanovanjske nepremičnine
            5 - rekonstrukcija
            6 - sprememba namembnosti stanovanja
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="1"></xs:maxLength>
            <xs:enumeration value="1"></xs:enumeration>
            <xs:enumeration value="2"></xs:enumeration>
            <xs:enumeration value="3"></xs:enumeration>
            <xs:enumeration value="4"></xs:enumeration>
            <xs:enumeration value="5"></xs:enumeration>
            <xs:enumeration value="6"></xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="NamenKredita2" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Namen kredita 2
          </xs:appinfo>
          <xs:documentation>
            Omogočeno je poročanje od enega do največ treh namenov. Minimalno število poročanih namenov je 1.
            Dovoljen nabor vrednosti je 1 - 6. Vrednosti se v istem zapisu ne smejo ponavljati.
            Nabor vrednosti in preslikave:
            1 - prvi nakup
            2 - gradnja
            3 - prenova
            4 - dograditev stanovanjske nepremičnine
            5 - rekonstrukcija
            6 - sprememba namembnosti stanovanja
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="1"></xs:maxLength>
            <xs:enumeration value="1"></xs:enumeration>
            <xs:enumeration value="2"></xs:enumeration>
            <xs:enumeration value="3"></xs:enumeration>
            <xs:enumeration value="4"></xs:enumeration>
            <xs:enumeration value="5"></xs:enumeration>
            <xs:enumeration value="6"></xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="NamenKredita3" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Namen kredita 3
          </xs:appinfo>
          <xs:documentation>
            Omogočeno je poročanje od enega do največ treh namenov. Minimalno število poročanih namenov je 1.
            Dovoljen nabor vrednosti je 1 - 6. Vrednosti se v istem zapisu ne smejo ponavljati.
            Nabor vrednosti in preslikave:
            1 - prvi nakup
            2 - gradnja
            3 - prenova
            4 - dograditev stanovanjske nepremičnine
            5 - rekonstrukcija
            6 - sprememba namembnosti stanovanja
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="1"></xs:maxLength>
            <xs:enumeration value="1"></xs:enumeration>
            <xs:enumeration value="2"></xs:enumeration>
            <xs:enumeration value="3"></xs:enumeration>
            <xs:enumeration value="4"></xs:enumeration>
            <xs:enumeration value="5"></xs:enumeration>
            <xs:enumeration value="6"></xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="StevilkaKreditnePogodbe" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Številka kreditne pogodbe
          </xs:appinfo>
          <xs:documentation>
            Podatek je omejen na dolžino do 100 znakov.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="100" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="DatumSklenitveKreditnePogodbe" type="xs:date" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Datum sklenitve kreditne pogodbe
          </xs:appinfo>
          <xs:documentation>
            Tip podatke je datum.
          </xs:documentation>
        </xs:annotation>
      </xs:element>

      <xs:element name="PogodbeniZnesekEur" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Pogodbeni znesek v EUR
          </xs:appinfo>
          <xs:documentation>
            Pogodbeni znesek glavnice je lahko največ 200.000.
            Natančnost podatka je omejena na 2 decimalni mesti.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" />
            <xs:maxInclusive value="200000"></xs:maxInclusive>
            <xs:fractionDigits value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>

      <xs:element name="RokCrpanjaKredita" type="xs:date" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Skrajni rok črpanja kredita
          </xs:appinfo>
          <xs:documentation>
            Tip podatke je datum.
          </xs:documentation>
        </xs:annotation>
      </xs:element>

      <xs:element name="DatumZapadlostiPrvegaObroka" type="xs:date" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Datum zapadlosti prvega obroka / anuitete
          </xs:appinfo>
          <xs:documentation>
            Tip podatke je datum.
          </xs:documentation>
        </xs:annotation>
      </xs:element>

      <xs:element name="DatumKoncneZapadlostiKredita" type="xs:date" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Datum končne zapadlosti kredita
          </xs:appinfo>
          <xs:documentation>
            Tip podatke je datum.
          </xs:documentation>
        </xs:annotation>
      </xs:element>

      <xs:element name="Storno" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:appinfo>
            Sprememba prijavljenih terjatev ali storno
          </xs:appinfo>
          <xs:documentation>
            Dovoljene so samo vrednosti "", "P", "A" in "S".

            Če je polje prazno se podatek zapiše.
            Če je označeno s "P" gre za pomoto, ki se je pripetila banki v enem od preteklih poročanj in jo želi popraviti. V primeru oznake "P" mora banka poslati v istem poročilu še en zapis z istim ključem  (davcnaStevilkaBanke - davcnaStevilkaKreditojemalca - stevilkaKreditnePogodbe) in spremenjenim vsaj enim podatkom.
            Če je označeno z "A" pomeni da banka sporoča z aneksom dogovorjeno spremembo kredinih pogojev. V primeru oznake "A" mora banka poslati v istem poročilu še en zapis z istim ključem  (davcnaStevilkaBanke - davcnaStevilkaKreditojemalca - stevilkaKreditnePogodbe) in spremenjenim vsak enim podatkom.
            Če je označeno s "S" pomeni brisanje oziroma storno že poslanega zapisa. V tem primeru prejeto poročilo ne sme vsebovati novega zapisa za isti posel (ključ: davcnaStevilkaBanke - davcnaStevilkaKreditojemalca - stevilkaKreditnePogodbe). Gre za primer, ko je banka je pomotoma poslala zapis, kio ga želi naknadno izločiti iz poroštvene sheme,
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="1"></xs:maxLength>
            <xs:enumeration value="" />
            <xs:enumeration value="P" />
            <xs:enumeration value="A" />
            <xs:enumeration value="S" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      
    </xs:all>
  </xs:complexType>

</xs:schema>