<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:simpleType name="optionalDecimal">
    <xs:union>
      <xs:simpleType><xs:restriction base="xs:decimal"/></xs:simpleType>
      <xs:simpleType><xs:restriction base="xs:string"><xs:length value="0"/></xs:restriction></xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="saleFlag">
    <xs:restriction base="xs:string">
      <xs:enumeration value="DA"/>
      <xs:enumeration value="NE"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="availability">
    <xs:restriction base="xs:string">
      <xs:enumeration value="dostupno"/>
      <xs:enumeration value="nedostupno"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="cjenik">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="trgovac">
          <xs:complexType><xs:sequence>
            <xs:element name="naziv" type="xs:string"/>
            <xs:element name="oib">
              <xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="[0-9]{11}"/></xs:restriction></xs:simpleType>
            </xs:element>
          </xs:sequence></xs:complexType>
        </xs:element>
        <xs:element name="prodajni_objekt">
          <xs:complexType><xs:sequence>
            <xs:element name="oblik" type="xs:string"/>
            <xs:element name="adresa" type="xs:string"/>
            <xs:element name="oznaka" type="xs:string"/>
            <xs:element name="broj_pohrane" type="xs:positiveInteger"/>
          </xs:sequence></xs:complexType>
        </xs:element>
        <xs:choice>
          <xs:element name="proizvodi">
            <xs:complexType><xs:sequence>
              <xs:element name="proizvod" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType><xs:sequence>
                  <xs:element name="naziv" type="xs:string"/>
                  <xs:element name="sifra" type="xs:string"/>
                  <xs:element name="marka" type="xs:string"/>
                  <xs:element name="jedinica_mjere" type="xs:string"/>
                  <xs:element name="cijena_za_jedinicu_mjere" type="optionalDecimal"/>
                  <xs:element name="maloprodajna_cijena" type="xs:decimal"/>
                  <xs:element name="posebni_oblik_prodaje" type="saleFlag"/>
                  <xs:element name="naziv_posebnog_oblika_prodaje" type="xs:string"/>
                  <xs:element name="sidrena_cijena" type="xs:decimal"/>
                  <xs:element name="barkod" type="xs:string"/>
                  <xs:element name="dostupnost" type="availability"/>
                </xs:sequence></xs:complexType>
              </xs:element>
            </xs:sequence></xs:complexType>
          </xs:element>
          <xs:element name="usluge">
            <xs:complexType><xs:sequence>
              <xs:element name="usluga" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType><xs:sequence>
                  <xs:element name="naziv_usluge" type="xs:string"/>
                  <xs:element name="maloprodajna_cijena" type="xs:string"/>
                  <xs:element name="posebni_oblik_prodaje" type="saleFlag"/>
                  <xs:element name="naziv_posebnog_oblika_prodaje" type="xs:string"/>
                  <xs:element name="sidrena_cijena" type="xs:string"/>
                </xs:sequence></xs:complexType>
              </xs:element>
            </xs:sequence></xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="vrsta" use="required">
        <xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="proizvodi"/><xs:enumeration value="usluge"/></xs:restriction></xs:simpleType>
      </xs:attribute>
      <xs:attribute name="generirano" type="xs:dateTime" use="required"/>
      <xs:attribute name="valuta" use="required" fixed="EUR" type="xs:string"/>
    </xs:complexType>
  </xs:element>
</xs:schema>
