<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="http://edavki.durs.si/Documents/Schemas/Doh_Ugo_8.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:edp="http://edavki.durs.si/Documents/Schemas/EDP-Common-1.xsd" targetNamespace="http://edavki.durs.si/Documents/Schemas/Doh_Ugo_8.xsd" elementFormDefault="qualified">
  <!-- Import the common schema -->
  <xs:import namespace="http://edavki.durs.si/Documents/Schemas/EDP-Common-1.xsd" schemaLocation="EDP-Common-1.xsd" id="EDP-Common-1"/>
  <!-- Root element of the document definition -->
  <xs:element name="Doh_Ugo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Header">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Year" type="typeHeaderYear">
                <xs:annotation>
                  <xs:documentation>Leto odmere dohodnine</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="UgoHeader">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="TaxPayerName" type="typeName" minOccurs="0"/>
              <xs:element name="TaxPayerID" type="edp:TaxNumberType" minOccurs="0"/>
              <xs:element name="Number" type="typeNumber" minOccurs="0"/>
              <xs:element name="DateIssued" type="xs:date" minOccurs="0"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Income1100">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="F1101_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1101_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1101_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1102_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1102_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1102_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1103_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1103_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1103_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1104_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1104_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1104_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1105_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1105_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1105_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1106_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1106_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1106_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1107_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1107_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1107_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1108_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1108_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1108_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1109_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1109_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1109_ActualCosts" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1109_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Income1200">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="F1211_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1211_Costs" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1211_Relief" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1211_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1212_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1212_Costs" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1212_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1220_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1220_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1220_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1230_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1230_Costs" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F1230_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Income2000">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="F2100_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2100_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2210_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2210_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2210_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2220_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2220_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2220_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2230_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2230_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2230_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2240_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2240_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2240_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2250_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2250_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F2250_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Income3000">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="F3100_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F3100_Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F3100_Relief" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F3100_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Income4000">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="F4100_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F4100_Costs" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F4100_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F4200_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F4200_Costs" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F4200_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Income6000">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="F6100_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F6100_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F6200_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F6200_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F6300_Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="F6300_Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="IncomeForeign" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="IncomeType" type="typeIncomeType" minOccurs="0"/>
              <xs:element name="Income" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="Contribution" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="Costs" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="MigrationRelief" type="xs:string" minOccurs="0"/>
              <xs:element name="Tax" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="Advance" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="CountryCode" type="typeCountryCode" minOccurs="0"/>
              <xs:element name="CountryName" type="typeCountryName" minOccurs="0"/>
              <xs:element name="IntOrg" type="typeIntOrgName" minOccurs="0"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Relief1" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="F1" type="typeName" minOccurs="0"/>
              <xs:element name="F2" type="edp:TaxNumberType" minOccurs="0"/>
              <xs:element name="F3" type="typeYear" minOccurs="0"/>
              <xs:element name="F4" type="typeKin" minOccurs="0"/>
              <xs:element name="F5" type="typeMonth" minOccurs="0"/>
              <xs:element name="F6" type="typeMonth" minOccurs="0"/>
              <xs:element name="F7" type="edp:Decimal14_2Type" minOccurs="0"/>
              <xs:element name="IsUpkept" type="xs:boolean"  minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Relief1_Extra">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Name" type="typeName" minOccurs="0"/>
              <xs:element name="TaxNumber" type="edp:TaxNumberType" minOccurs="0"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="UgoExtra">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="UnacknowledgedTaxRelief" type="typeFreeText" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>nepriznavanja davčnih olajšav</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="FalseIncomeTaxCalc" type="typeFreeText" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>napačnega izračuna dohodnine</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="OtherObjection" type="typeFreeText" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>drugo</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="PhoneNumber" type="typePhoneNumber" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Telefonska številka zavezanca</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="EmailAddress" type="typeEmail" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>el. naslov zavezanca</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <!-- Document type definitions -->
  <xs:simpleType name="typeHeaderYear">
    <xs:restriction base="typeYear">
      <xs:minInclusive value="2007"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="typePhoneNumber">
    <xs:restriction base="xs:string">
      <xs:maxLength value="30"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="typeYear">
    <xs:restriction base="xs:int">
      <xs:pattern value="[1-9][0-9]{3}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="typeMonth">
    <xs:restriction base="xs:int">
      <xs:minInclusive value="1"/>
      <xs:maxInclusive value="12"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="typeIncomeType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[1-9][0-9]{3}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="typeName">
    <xs:restriction base="xs:string">
      <xs:maxLength value="40"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="typeKin">
    <xs:restriction base="xs:string">
      <xs:enumeration value="A1"/>
      <xs:enumeration value="A2"/>
      <xs:enumeration value="A3"/>
      <xs:enumeration value="A4"/>
      <xs:enumeration value="A5"/>
      <xs:enumeration value="B"/>
      <xs:enumeration value="C"/>
      <xs:enumeration value="D"/>
      <xs:enumeration value="E"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="typeCountryCode">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{3}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="typeCountryName">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="typeNumber">
    <xs:restriction base="xs:string">
      <xs:maxLength value="30"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="typeIntOrgName">
    <xs:restriction base="typeName">
      <xs:maxLength value="40"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="typeFreeText">
    <xs:restriction base="xs:string">
      <xs:maxLength value="160"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="typeFreeTextLong">
    <xs:restriction base="xs:string">
      <xs:maxLength value="320"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="typeEmail">
    <xs:restriction base="xs:string">
      <xs:maxLength value="75"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- Document types definition -->
  <!-- Document envelope that contains the document header, signatures and its body. -->
  <xs:element name="Envelope">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="edp:Header"/>
        <xs:element ref="edp:AttachmentList" minOccurs="0" />
        <xs:element ref="edp:Signatures"/>
        <xs:element name="body">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="edp:bodyContent"/>
              <xs:element ref="Doh_Ugo"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
