Пример VendorYML-файла и описание его элементов

Пример файла

<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" date="2010-04-01T17:00:00" version="1.0" xsi:noNamespaceSchemaLocation="VendorYML-1.0.xsd">
  <vendor name="Canon">
    <url>http://canon.ru/</url>
    <categories>
      <category id="1">Электроника</category>
      <category id="10" parentId="1">Фото</category>
      <category id="100" parentId="10">Компактные фотоаппараты</category>
      <category id="101" parentId="10">Зеркальные фотоаппараты</category>
      <category id="102" parentId="1">Видеокамеры</category>
      <category id="2">Хранение данных</category>
      <category id="11" parentId="2">Карты памяти</category>
      <category id="12" parentId="2">USB-flash накопители</category>
      <category id="13" parentId="2">Переносные жесткие диски</category>
    </categories>
    <models>
      <model id="34121" categoryId="10">
        <name>EOS 60D Body</name>
        <alias>EOS 60D W/O LENS</alias>
        <type>Цифровая фотокамера</type>
        <vendorCode>4460B007</vendorCode>
        <promoUrl>http://canon.ru/eos-60d</promoUrl>
        <pictureUrl type="main">http://canon.ru/eos-60d.jpg</pictureUrl>
        <pictureUrl>http://canon.ru/eos-60d-angle.jpg</pictureUrl>
        <pictureUrl type ="interior">http://canon.ru/eos-60d-table.jpg</pictureUrl>
        <instructionUrl>http://canon.ru/eos-60d.pdf</instructionUrl>
        <driversUrl>http://canon.ru/eos-60d.zip</driversUrl>
        <barcode>1234567890123</barcode>
        <barcode>1234657654321</barcode>
        <announceDate>2016-04-01</announceDate>
        <inStockDate>2016-05-01</inStockDate>
        <addDate>2016-03-01</addDate>
        <updateDate>2016-06-01</updateDate>
        <isActual>true</isActual>
        <recomendedPrice currency="RUR">55000</recomendedPrice>
        <description>Зеркальная фотокамера любительского уровня.</description>
        <param name="Вес" unit="г">750</param>
        <param name="Байонет">Canon EF/EF-S</param>
        <param name="Тип матрицы">CMOS</param>
        <param name="Кроп-фактор">1.6</param>
        <param name="Разрешение матрицы" unit="Мп">19</param>
        <param name="Подавление эффекта красных глаз">есть</param>
        <param name="GPS-приемник">отсутствует</param>
        <param name="Максимальное разрешение роликов">1920x1080</param>
        <rec type="component" isSupplement="true" innerId="167" marketId="7888908">Объектив Canon EF 50 mm f/1.8 STM</rec>
        <rec type="accessory" isSupplement="true" marketId="14210745">Сумка для фотокамеры Gadget Bag</rec>
        <rec type="consumable" isSupplement="true">Аккумулятор для Canon AcmePower AP-LP-E6</rec> 
      </model>
    </models>
  </vendor>
</yml_catalog>

Скачать пример

Скачать XSD-схему

Описание элементов

Элемент

Описание

Обязательность

yml_catalog

Файл может содержать только один корневой элемент <yml_catalog>.

Атрибут date соответствует дате и времени генерации файла на стороне производителя. Формат даты: YYYY-MM-DDThh:mm:ss.

Да

Элементы, входящие в yml_catalog

vendor

Название производителя или бренда. Если нужно передать данные о нескольких производителях, описывайте каждого в отдельном элементе <vendor>.

Да

Элементы, входящие в vendor

url

Ссылка на официальный сайт производителя, можно указывать несколько ссылок.

Нет

categories

Список категорий моделей.

Да

models

Список моделей.

Да

Элементы, входящие в categories

category

Описание одной категории. Атрибуты:

  • id — идентификатор категории (обязательный);
  • parentId — идентификатор категории более высокого уровня (обязательный только для подкатегорий).

Да

Элементы, входящие в models

model

Описание одной модели. Атрибуты:

  • id — идентификатор модели (обязательный);
  • categoryId — идентификатор категории, к которой относится модель (обязательный).

Да

Элементы, входящие в model

name

Название модели. В названии не нужно указывать категорию товара, его тип, название производителя или технические характеристики.

Да

alias

Альтернативное название модели. Для одной модели можно указать несколько элементов alias (не больше 10).

Нет

type

Тип товара. Указывайте этот элемент, если в категории есть товары разных типов. Например, куклы и конструкторы в категории «Товары для детей».

Нет

vendorCode

Код модели (код, присвоенный производителем).

Нет

promoUrl

Ссылка на страницу модели на сайте производителя.

Нет

pictureUrl

Ссылка на изображение модели на сайте производителя. Один элемент должен содержать одну ссылку. Для одной модели можно указать несколько pictureUrl.

Нет

instructionUrl

Ссылка на инструкцию для данной модели на сайте производителя.

Нет

driversUrl

Ссылка на драйверы для данной модели на сайте производителя.

Нет

barcode

Штрих-код товара.

Нет

announceDate

Дата анонсирования модели.

Формат даты: yyyy-mm-dd.

Нет

inStockDate

Дата начала официальных продаж.

Формат даты: yyyy-mm-dd.

Нет

addDate

Дата добавления описания модели в каталог.

Формат даты: yyyy-mm-dd.

Нет

updateDate

Дата изменения спецификации модели.

Формат даты: yyyy-mm-dd.

Нет

isActual

Актуальность модели:

  • true — модель выпускается;

  • false — модель снята с производства.

Нет

recomendedPrice

Рекомендованная цена. Для корректного учета цены указывайте идентификатор валюты в атрибуте currency (возможные значения: RUR, RUB, USD, EUR, UAH, BYN, KZT).

Нет

description

Описание модели.

Нет

param

Параметры модели. Каждый параметр описывается в отдельном элементе <param>. Для одной модели можно указать несколько элементов <param>.

Нет

rec

Рекомендуемый или совместимый товар. Каждый товар описывается в отдельном элементе <rec>. Для одной модели можно указать несколько элементов <rec>.

Нет

Ошибки при составлении файла

Описание ошибкиПример ошибки
Идентификатор содержит не только цифры.Неверно:
<model id="34q121a" categoryId="10">
  ...
</model>
Верно:
<model id="34121" categoryId="10">
  ...
</model>
Не указан идентификатор модели и (или) категории.Неверно:
<model categoryId="10">
  ...
</model>
<model id="34121">
  ...
</model>
Верно:
<model id="34121" categoryId="10">
  ...
</model>
Дата и время формирования файла указаны в формате, отличном от YYYY-MM-DDThh:mm:ss.Неверно:
<yml_catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" date="01/04/2010 17:00:00"
                version="1.0" xsi:noNamespaceSchemaLocation="VendorYML-1.0.xsd">
Верно:
<yml_catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" date="2010-04-01T17:00:00"
                version="1.0" xsi:noNamespaceSchemaLocation="VendorYML-1.0.xsd">
Тип товара и параметры модели указаны в элементе model/name.Неверно:
<model id="482829" categoryId="4">
  <name>Телевизор UE40K6500AU 40" 1920x1080</name>
</model>
Верно:
<model id="482829" categoryId="4">
  <type>Телевизор</type>
  <name>UE40K6500AU</name>
  <param name="Диагональ экрана" unit="дюймы">40</param>
  <param name="Разрешение экрана" unit="пиксели">1920x1080</param>
</model>
Идентификаторы моделей не уникальны.Неверно:
<model id="34121" categoryId="10">
  ...
</model>
<model id="34121" categoryId="10">
  ...
</model>
Верно:
<model id="34121" categoryId="10">
  ...
</model>
<model id="34122" categoryId="10">
  ...
</model>
Не указаны значения параметров модели.Неверно:
<model id="482829" categoryId="4">
  <type>Телевизор</type>
  <name>UE40K6500AU</name>
  <param name="Диагональ экрана" unit="дюймы"></param>
  <param name="Разрешение экрана" unit="пиксели"></param>
</model>
Верно:
<model id="482829" categoryId="4">
  <type>Телевизор</type>
  <name>UE40K6500AU</name>
  <param name="Диагональ экрана" unit="дюймы">40</param>
  <param name="Разрешение экрана" unit="пиксели">1920x1080</param>
</model>
Название производителя указано в элементе model/name.Неверно:
<model id="482829" categoryId="4">
  <name>Samsung UE40K6500AU</name>
</model>
Верно:
<model id="482829" categoryId="4">
  <name>UE40K6500AU</name>
</model>
Не указаны обязательные элементы (например, vendor, model/param, model/name, pictureUrl, promoUml).