Форматы YML и CSV
Формат YML
Стандарт YML (Yandex Market Language) разработан Яндексом и основан на стандарте XML. Формат YML предоставляет больше возможностей и преимуществ, чем форматы XLS, CSV.
Требования к YML‑файлу
В YML нельзя использовать:
непечатаемые символы с ASCII-кодами от 0 до 31 (за исключением символов с кодами 9, 10, 13 — табуляция, перевод строки, возврат каретки);
эмодзи и другие специальные символы Юникода.
Символы
"
&
>
<
'
нужно заменять на эквивалентные коды:Символ в тексте
Код для YML-файла
" & > < '
" & > < '
Символ в тексте
Код для YML-файла
" & > < '
" & > < '
Допустимые кодировки YML-файла: UTF-8, windows-1251.
В качестве разделителя целой и дробной частей любых чисел, указанных в качестве значений YML‑элементов, независимо от региональных установок используется только точка.
Пример YML‑файла
<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog date="2020-11-22T14:37:38+03:00">
<shop>
<name>BestSeller</name>
<company>Tne Best inc.</company>
<url>http://best.seller.ru</url>
<currencies>
<currency id="RUR" rate="1"/>
</currencies>
<categories>
<category id="1">Бытовая техника</category>
<category id="10" parentId="1">Мелкая техника для кухни</category>
</categories>
<delivery-options>
<option cost="200" days="1"/>
</delivery-options>
<offers>
<offer id="9012">
<name>Мороженица Brand 3811</name>
<url>http://best.seller.ru/product_page.asp?pid=12345</url>
<price>8990</price>
<currencyId>RUR</currencyId>
<categoryId>10</categoryId>
<delivery>true</delivery>
<delivery-options>
<option cost="300" days="1" order-before="18"/>
</delivery-options>
<param name="Цвет">белый</param>
<weight>3.6</weight>
<dimensions>20.1/20.551/22.5</dimensions>
</offer>
</offers>
<gifts>
<!-- подарки не из прайс‑листа -->
</gifts>
<promos>
<!-- промоакции -->
</promos>
</shop>
</yml_catalog>
Основные элементы YML
Элемент | Описание |
---|---|
xml header | Стандартный XML-заголовок. Должен начинаться с первой строки, с нулевого символа. |
yml_catalog | Любой XML-документ может содержать только один корневой элемент. Формат YML в качестве корневого использует элемент
|
shop | В элементе
|
Элемент | Описание |
---|---|
xml header | Стандартный XML-заголовок. Должен начинаться с первой строки, с нулевого символа. |
yml_catalog | Любой XML-документ может содержать только один корневой элемент. Формат YML в качестве корневого использует элемент
|
shop | В элементе
|
Текстовый формат
Текстовый формат с разделителями удобен при генерации прайс-листа из базы данных или редакторов электронных таблиц (например: Exсel, OpenOffice, Google Docs).
Требования к прайс-листу в текстовом формате
Одна строка файла должна соответствовать одной строке электронной таблицы.
В качестве разделителя полей используется запятая или точка с запятой (CSV) либо символ табуляции (TSV).
Одна строка файла должна содержать описание одного предложения.
Первая строка файла должна содержать названия полей.
Кодировка файла должна быть UTF-8.
Нельзя использовать табуляцию и перенос строки внутри полей.
Файл не должен содержать пустых столбцов.
Порядок столбцов (полей) не задан строго, но в пределах одного файла порядок столбцов (полей) должен быть одинаковым.
Примеры прайс-листов
Скачать пример с предложениями упрощенного типа
Скачать пример с предложениями произвольного типа