<?xml version="1.0" encoding="utf-8"?>
<xs:schema
  xmlns="http://edavki.durs.si/Documents/Schemas/KP_IFI_1.xsd"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:edp="http://edavki.durs.si/Documents/Schemas/EDP-Common-1.xsd"
  targetNamespace="http://edavki.durs.si/Documents/Schemas/KP_IFI_1.xsd"
  xmlns:kp="http://edavki.durs.si/Documents/Schemas/KP_Common_1.xsd"
  elementFormDefault="qualified">

  <xs:import namespace="http://edavki.durs.si/Documents/Schemas/EDP-Common-1.xsd" schemaLocation="EDP-Common-1.xsd"/>
  <xs:import namespace="http://edavki.durs.si/Documents/Schemas/KP_Common_1.xsd" schemaLocation="KP_Common_1.xsd"/>

  <!--document structure-->
  <xs:element name="Envelope">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="edp:Header"/>
        <xs:element ref="edp:Signatures"/>
        <xs:element name="body">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="Data"/>
              <xs:element ref="Attachment" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>


  <xs:element name="Data">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Year" type="xs:int">
          <xs:annotation>
            <xs:documentation>Leto poročanja</xs:documentation>
          </xs:annotation>
        </xs:element>

        <xs:element name="TransactionUserData" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Podatki o zavezancu, ki vsebujejo popisne liste</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="kp:TransactionUserData_Type">
                <xs:sequence>
                  <xs:element name="PODIFI" minOccurs="0" maxOccurs="unbounded">
                    <xs:annotation>
                      <xs:documentation>Popisni list pridobitev in odsvojitev v poslih z izvedenimi finančnimi instrumenti - ifi</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                      <xs:sequence maxOccurs="unbounded">
                        <xs:choice>
                          <xs:element name="Purchase" type="Purchase_Type" />
                          <xs:element name="Sale" type="Sale_Type" />
                        </xs:choice>
                      </xs:sequence>
                      <xs:attribute name="Type" type="Ifi_Type" use="required">
                        <xs:annotation>
                          <xs:documentation>Vrsta IFI</xs:documentation>
                        </xs:annotation>
                      </xs:attribute>
                      <xs:attribute name="ISIN" type="kp:Isin_Type" use="required">
                        <xs:annotation>
                          <xs:documentation>ISIN koda vrednostnega papirja</xs:documentation>
                        </xs:annotation>
                      </xs:attribute>
                      <xs:attribute name="Name" type="kp:Naziv_Type" use="required">
                        <xs:annotation>
                          <xs:documentation>Naziv vrednostnega papirja</xs:documentation>
                        </xs:annotation>
                      </xs:attribute>
                      <xs:attribute name="AII" type="Aii_Type" use="required">
                        <xs:annotation>
                          <xs:documentation>Oznaka AII</xs:documentation>
                        </xs:annotation>
                      </xs:attribute>
                      <xs:attribute name="Leverage" type="xs:boolean">
                        <xs:annotation>
                          <xs:documentation>Trgovanje z vzvodom</xs:documentation>
                        </xs:annotation>
                      </xs:attribute>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="Attachment">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Hash" type="xs:string" minOccurs="0" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  
  <xs:simpleType name="Ifi_Type">
    <xs:annotation>
      <xs:documentation>Vrsta IFI</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="01">
        <xs:annotation>
          <xs:documentation>opcije in certifikati</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="02">
        <xs:annotation>
          <xs:documentation>terminske pogodbe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="03">
        <xs:annotation>
          <xs:documentation>finančne pogodbe na razliko</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="04">
        <xs:annotation>
          <xs:documentation>drugo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="Gain_Type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="A">
        <xs:annotation>
          <xs:documentation>nakup</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="B">
        <xs:annotation>
          <xs:documentation>dedovanje</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="C">
        <xs:annotation>
          <xs:documentation>darilo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="D">
        <xs:annotation>
          <xs:documentation>drugo</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
 
   <xs:simpleType name="Aii_Type">
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
      <xs:maxLength value="29" />
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="Purchase_Type">
    <xs:annotation>
      <xs:documentation>Pridobitev</xs:documentation>
    </xs:annotation>
    <xs:attribute name="Date" type="xs:date">
      <xs:annotation>
        <xs:documentation>Datum pridobitve</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="Amount" type="DecimalPos12_8_Type">
      <xs:annotation>
        <xs:documentation>Količina / % količine ob pridobitvi</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="Value" type="DecimalPos14_8_Type">
      <xs:annotation>
        <xs:documentation>Nabavna vrednost ob pridobitvi (na enoto)</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="Type" type="Gain_Type">
      <xs:annotation>
        <xs:documentation>Način pridobitve</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="Sale_Type">
    <xs:annotation>
      <xs:documentation>Odsvojitev</xs:documentation>
    </xs:annotation>
    <xs:attribute name="Date" type="xs:date">
      <xs:annotation>
        <xs:documentation>Datum odsvojitve</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="Amount" type="DecimalPos12_8_Type">
      <xs:annotation>
        <xs:documentation>Količina / % količine odsvojenega deleža</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="Value" type="DecimalPos14_8_Type">
      <xs:annotation>
        <xs:documentation>Vrednost ob odsvojitvi</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:simpleType name="DecimalPos14_8_Type">
    <xs:restriction base="xs:decimal">
      <xs:pattern value="\d{1,14}(\.\d{1,8})?" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DecimalPos12_8_Type">
    <xs:restriction base="xs:decimal">
      <xs:pattern value="\d{1,12}(\.\d{1,8})?" />
    </xs:restriction>
  </xs:simpleType>
  
</xs:schema>