<!ELEMENT yml_catalog (shop)>
<!ATTLIST yml_catalog
    date CDATA #REQUIRED>

<!ELEMENT shop (name, company, url, currencies, categories, deliveryIncluded?, offers)>
<!ELEMENT company (#PCDATA)>

<!ELEMENT currencies (currency+)>
<!ELEMENT currency EMPTY>
<!ATTLIST currency
    id (RUR|RUB|USD|DM|EUR) #REQUIRED
    rate CDATA "1"
    plus CDATA "0">


<!ELEMENT categories (category+)>
<!ELEMENT category (#PCDATA)>
<!ATTLIST category
    id CDATA #REQUIRED
    parentId CDATA "0"
    tid CDATA #IMPLIED
    yid CDATA #IMPLIED>

<!ELEMENT offers (offer+)>
<!ELEMENT offer (url, buyurl?, price, wprice?, currencyId, xCategory?, categoryId+, 
                 picture?, deliveryIncluded?, orderingTime?,
                 ((typePrefix?, vendor, vendorCode?, model, (provider, tarifplan?)?) |
                  (author?, name, publisher?, series?, year?, ISBN?) |
                  (artist?, title, year?, media?, starring?, director?, originalName?, country?) |
                  (worldRegion?, country?, region?, days, dataTour*, name, hotel_stars?, included, transport, price_min?, price_max?, options?) |
                  (name, place, hall?, hall_part?, date, is_premiere?, is_kids?) |
                  (name, vendor?, vendorCode?)
                 ),
                 aliases?, additional*, description?, sales_notes?
                )>
<!ATTLIST offer
    id CDATA #IMPLIED
    type (vendor.model | book | artist.title | tour | ticket | event-ticket) #IMPLIED
    bid CDATA #IMPLIED
    cbid CDATA #IMPLIED>

<!ELEMENT url (#PCDATA)>
<!ELEMENT buyurl (#PCDATA)>
<!ELEMENT picture (#PCDATA)>
<!ELEMENT deliveryIncluded EMPTY>
<!ELEMENT orderingTime (onstock?, ordering, deliveryTime?)>
<!ELEMENT onstock EMPTY>
<!ELEMENT ordering (#PCDATA)>
<!ATTLIST ordering
    hours CDATA #IMPLIED>

<!ELEMENT deliveryTime EMPTY>
<!ELEMENT price (#PCDATA)>
<!ELEMENT wprice (#PCDATA)>
<!ELEMENT currencyId (#PCDATA)>
<!ELEMENT categoryId (#PCDATA)>
<!ATTLIST categoryId
    type (Yandex | Torg | Own) "Own" >

<!ELEMENT typePrefix (#PCDATA)>
<!ELEMENT vendor (#PCDATA)>
<!ELEMENT vendorCode (#PCDATA)>
<!ELEMENT model (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT publisher (#PCDATA)>
<!ELEMENT ISBN (#PCDATA)>
<!ELEMENT series (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT artist (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT media (#PCDATA)>
<!ELEMENT starring (#PCDATA)>
<!ELEMENT director (#PCDATA)>
<!ELEMENT originalName (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT sales_notes (#PCDATA)>
<!ELEMENT aliases (#PCDATA)>
<!ELEMENT provider (#PCDATA)>
<!ELEMENT tarifplan (#PCDATA)>
<!ELEMENT xCategory (#PCDATA)>
<!ELEMENT additional (#PCDATA)>
<!ELEMENT worldRegion (#PCDATA)>
<!ELEMENT region (#PCDATA)>
<!ELEMENT days (#PCDATA)>
<!ELEMENT dataTour (#PCDATA)>
<!ELEMENT hotel_stars (#PCDATA)>
<!ELEMENT included (#PCDATA)>
<!ELEMENT transport (#PCDATA)>
<!ELEMENT price_min (#PCDATA)>
<!ELEMENT price_max (#PCDATA)>
<!ELEMENT options (#PCDATA)>

<!ELEMENT place (#PCDATA)>
<!ELEMENT hall (#PCDATA)>
<!ATTLIST hall
    plan CDATA #IMPLIED>
    
<!ELEMENT hall_part (#PCDATA)>
<!ELEMENT is_premiere (#PCDATA)>
<!ELEMENT is_kids (#PCDATA)>
<!ELEMENT date (#PCDATA)>



