<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="izvjestaj_mjesecni">
 <xs:complexType>
 <xs:sequence>
  <xs:element ref="zaglavlje"/>
  <xs:element ref="ob_ud"/>
  <xs:element ref="kup"/>
  <xs:element ref="st_val"/>
  <xs:element ref="ur"/>
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  <xs:element name="zaglavlje">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="obveznik_oib" type="stOib"/>
        <xs:element name="datum" type="xs:date"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ob_ud">
      <xs:complexType>
        <xs:sequence>
          <xs:element ref="podaci_5" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
  </xs:element>
  <xs:element name="podaci_5">
      <xs:complexType>
      <xs:sequence>
      <xs:element name="valuta_domicilna" type="stDomicilnaValuta"/>
		<xs:element ref="cp_5" maxOccurs="unbounded"/>
	  </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="cp_5">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="uredaj" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="cp_pj_sif" type="stString50" use="required"/>
    </xs:complexType>
  </xs:element>
<xs:element name="uredaj">
    <xs:complexType>
      <xs:attribute name="cp_ur_sif" type="stString50" use="required"/>
      <xs:attribute name="ur_ser" type="xs:string" use="required"/>
      <xs:attribute name="ur_vr" type="stVrstaUredaja" use="required"/>
      <xs:attribute name="lok" type="stTipLokacije" use="required"/>
      <xs:attribute name="kom" type="xs:positiveInteger" use="required"/>
    </xs:complexType>
  </xs:element>

<!-- 6 -->
  <xs:element name="kup">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="podaci_6" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="podaci_6">
    <xs:complexType>
      <xs:sequence>
	  <xs:element ref="banka" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="banka">
    <xs:complexType>
      <xs:sequence>
		<xs:element ref="valuta" minOccurs="1" maxOccurs="2"/>
      </xs:sequence>
      <xs:attribute name="oib" type="stOib" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="valuta">
    <xs:complexType>
      <xs:sequence>
		<xs:element ref="kupr" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="oznaka" type="stDomicilnaValuta" use="required"/>
    </xs:complexType>
  </xs:element>
<xs:element name="kupr">
    <xs:complexType>
      <xs:attribute name="kp" type="stKupnjaProdaja" use="required"/>
      <xs:attribute name="nov_vr" type="stVrstaNovca" use="required"/>
      <xs:attribute name="apoen" type="stApoen" use="required"/>
      <xs:attribute name="kom" type="xs:positiveInteger" use="required"/>
    </xs:complexType>
  </xs:element>

<!-- 7 -->
  <xs:element name="st_val">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="podaci_7" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="podaci_7">
    <xs:complexType>
      <xs:sequence>
	  <xs:element ref="cp_7" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
   <xs:element name="cp_7">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="valuta" maxOccurs="unbounded">
				<xs:complexType>
				  <xs:sequence>
					<xs:element ref="stanje" maxOccurs="unbounded"/>
				  </xs:sequence>
				  <xs:attribute name="oznaka" type="stValuta" use="required"/>
				</xs:complexType>
		</xs:element>
      </xs:sequence>
      <xs:attribute name="cp_sif" type="stString50" use="required"/>
      <xs:attribute name="izvor_oib" type="stOib" use="required"/>
    </xs:complexType>
  </xs:element>
 <xs:element name="stanje">
    <xs:complexType>
      <xs:attribute name="nov_vr" type="stVrstaNovca" use="required"/>
      <xs:attribute name="apoen" type="stApoen" use="required"/>
      <xs:attribute name="kom" type="xs:positiveInteger" use="required"/>
    </xs:complexType>
  </xs:element>
  
<!-- 8 -->
  <xs:element name="ur">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="podaci_8" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="podaci_8">
    <xs:complexType>
      <xs:sequence>
	  <xs:element ref="uredaj_obr" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
   <xs:element name="uredaj_obr">
    <xs:complexType>
      <xs:attribute name="cp_sif" type="stString50" use="required"/>
      <xs:attribute name="ur_ser" type="stString50" use="required"/>
      <xs:attribute name="ur_vr" type="stVrstaUredaja" use="required"/>
      <xs:attribute name="lok" type="stTipLokacije" use="required"/>
      <xs:attribute name="proizv" type="stString200" use="required"/>
      <xs:attribute name="naz" type="stString240" use="required"/>
      <xs:attribute name="model" type="stString200" use="required"/>
      <xs:attribute name="hrk_ver" type="stString300" use="optional"/>
      <xs:attribute name="eur_ver" type="stString300" use="optional"/>
      <xs:attribute name="brojac" type="xs:nonNegativeInteger" use="required"/>
      <xs:attribute name="dat_odrz" type="xs:date" use="required"/>
    </xs:complexType>
  </xs:element>

<!-- simpleType -->  
  <xs:simpleType name="stString200">
    <xs:restriction base="xs:string">
      <xs:maxLength value="200"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="stString50">
    <xs:restriction base="xs:string">
      <xs:maxLength value="50"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="stString300">
    <xs:restriction base="xs:string">
      <xs:maxLength value="300"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="stString240">
    <xs:restriction base="xs:string">
      <xs:maxLength value="240"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="stOib">
    <xs:restriction base="xs:string">
      <xs:pattern value="\d{11}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="stDomicilnaValuta">
    <xs:restriction base="xs:string">
      <xs:pattern value="HRK|EUR"/>	
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="stVrstaUredaja">
    <xs:restriction base="xs:string">
      <xs:pattern value="uN|rNk|kuN|iN|iK|iB|oN|aN|rNz|uiN|uKo|uKz|rKo|rKza|rKz|isoK|sK|bK"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="stTipLokacije">
    <xs:restriction base="xs:string">
      <xs:pattern value="PJ|ZP|OP"/>
    </xs:restriction>
  </xs:simpleType>  
  <xs:simpleType name="stKupnjaProdaja">
    <xs:restriction base="xs:string">
      <xs:pattern value="K|P"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="stVrstaNovca">
    <xs:restriction base="xs:string">
      <xs:pattern value="N|K"/>
    </xs:restriction>
  </xs:simpleType>  
  <xs:simpleType name="stApoen">
    <xs:restriction base="xs:string">
      <xs:pattern value="[1-9][0-9]*|0,\d\d"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="stValuta">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z]{3}"/>	
    </xs:restriction>
  </xs:simpleType>



</xs:schema>

