Содержание
YML — Маркетплейс Маркета. Справка
- Файлы для обновления каталога и файлы для управления размещением
- Заголовок
- Корневой элемент <yml_catalog>
- Элемент <shop>
- Элемент <categories>
- Элемент <offers>
- Параметры доставки и самовывоза
- Примеры готовых файлов
Эта статья — о структуре YML-файлов. Чтобы узнать, как задать конкретный параметр товара, найдите его в справочнике. |
YML (Yandex Market Language) — собственный стандарт Яндекса, основанный на XML. В YML-файлах можно целиком описать каталог магазина в формате, удобном для автоматической генерации.
В этом руководстве описаны все необходимые элементы YML-файлов.
Совет.
Если вы пользуетесь популярной CMS, возможно, для нее есть готовый модуль, который умеет генерировать YML-файлы. Список готовых модулей
С помощью YML-файлов можно решать две задачи:
добавлять товары в каталог и обновлять информацию о них;
управлять размещением товаров в магазинах.
YML-файлы, решающие разные задачи, отличаются набором обязательных элементов.
Нужен в любом YML-файле.
Пишется так:
<?xml version="1.0" encoding="UTF-8"?>
Заголовок занимает первую строку и начинается с нулевого символа. Подойдут кодировки UTF-8 и Windows-1251.
Нужен в любом YML-файле.
В любом XML-документе есть корневой элемент. Формат YML в качестве корневого использует элемент <yml_catalog> с атрибутом date.
В атрибуте укажите дату и время момента, на который актуальны данные в файле. Загружаемая версия каталога должна быть не старше 10 дней.
Дату и время нужно указать согласно стандарту RFC 3339, вот так:
<yml_catalog date="2022-05-22T14:37+03:00">
Обязательно указывайте часовой пояс. Он отсчитывается от UTC — например, красноярское время записывается так:
<yml_catalog date="2022-05-22T15:08+07:00">
Дату и время в будущем указывать нельзя.
Если файл долго генерируется, указывайте в атрибуте момент начала генерации. Если указывать время завершения генерации, можно потерять изменения, внесенные вручную. Допустим, магазин начал генерировать файл в 12:00. В 12:05 вы через личный кабинет изменили цену товара. В 12:10 магазин сформировал файл, и его скачал Маркет. Если в файле будет стоять время 12:10, Маркет заменит внесенную вами цену на неактуальную из файла. Если же в нем будет стоять 12:00, ваше изменение будет считаться более поздним и никуда не денется.
«}}»>
Внимание. Если вы передаете с помощью YML остатки или цены, атрибут date нужно указывать обязательно.
Нужен в любом YML-файле.
В элемент <yml_catalog> в единственном экземпляре входит элемент <shop> без атрибутов. Он описывает магазин, для которого вы готовите файл.
В него вложены:
Элемент | Тип данных | Смысл |
---|---|---|
<name> | Текст: | Название вашего магазина |
<company> | Текст: | Название вашей компании |
<url> | Текст:
| Адрес сайта магазина, записанный согласно стандарту RFC 3986 |
<platform> | Текст: | Название системы управления контентом |
<categories> | Содержит вложенные элементы <category> | Список категорий товаров, продаваемых в магазине |
<offers> | Содержит вложенные элементы <offer> | Список предложений — товаров, продающихся в магазине, с ценами |
Нужен только в YML-файле, управляющем товарами
Вложен в элемент <shop>, не имеет атрибутов. Помещается перед элементом <offers>. Содержит сколько угодно элементов <category>, каждый из которых описывает одну из категорий доступных в магазине товаров.
Лучше всего пользоваться деревом категорий Маркета — оно включает практически все.
Если брать категории из дерева неудобно, указывайте свои. Делайте их понятными и логичными:
Неправильно | Хорошо |
---|---|
Товары → Склад_1 | Игрушки → Конструкторы |
Одежда → Женская одежда → Верхняя одежда → Платья | Товары для детей → Одежда → Детские комбинезоны |
Каждой категории нужно присвоить уникальный идентификатор — целое положительное число длиной до 18 цифр — и записать его в атрибут id
. Запись числа не должна начинаться с нуля — например, 055 не подойдет.
Чтобы вложить одну категорию в другую, используйте атрибут parentId
.
Получится так:
<categories> <category>Книги</category> <category parentId="1">Детективы</category> <category parentId="1">Боевики</category> <category>Видео</category> <category parentId="4">Комедии</category> <category>Принтеры</category> <category>Оргтехника</category> </categories>
Нужен в любом YML-файле. Содержимое вложенных элементов <offer>
зависит от задачи, которую решает YML-файл.
Помещается после элемента <categories>. Не имеет атрибутов. Содержит сколько угодно элементов <offer>, каждый из которых описывает один товар в магазине. У <offer> есть обязательный атрибут id, который содержит ваш SKU товара. Что такое SKU
Внимание. Элемент <shop-sku>
устарел, его лучше не использовать. Если он есть, значение вашего SKU берется из него, а не из атрибута id
элемента <offer>
.
Внутри <offer> нужно указать характеристики товара (название, описание, производителя и так далее) или параметры размещения (цену, скидки, остатки и так далее).
Посмотрите справочник. Он подскажет, какие параметры обязательны и как их задать в YML-файле. Если YML-файл предназначен для добавления товаров, смотрите таблицу с характеристиками. Если для управления размещением — таблицу с параметрами размещения. |
Если магазин работает по модели DBS, в YML-файле можно задать, описывающие параметры доставки и самовывоза. Их нужно разместить:
перед <offers>, чтобы задать параметры для всего магазина;
внутри <offer>, если нужно переопределить параметры для конкретного товара.
Чтобы Маркет учитывал параметры, заданные в YML-файле, нужно включить опцию Использовать данные из прайс-листа в личном кабинете. Инструкция
Нужны только в YML-файле, управляющем размещением.
- <delivery>
Указывает, доступна ли курьерская доставка.
Значение по умолчанию — это значение, которое используется, если элемента в файле нет. Например, если для элемента
element
значение по умолчаниюtrue
:\n
\n
\n\n Чтобы задать true \n
Чтобы задать false \n
\n
\n\n \n Можно не включать элемент в YML-файл. Если удобно, можно его задать явно:
\n
<element>true</element>
\n
\n
\n Нужно обязательно задать значение в файле:
\n
<element>false</element>
\n
\n
\n
\n\n Чтобы задать true \n
Чтобы задать false \n
\n
\n\n \n Можно не включать элемент в YML-файл. Если удобно, можно его задать явно:
\n
<element>true</element>
\n
\n
\n Нужно обязательно задать значение в файле:
\n
<element>false</element>
\n
\n
\n
\n
«}}»> — true
.
Добавьте в файл <delivery>false</delivery>
, если магазин не доставляет товары.
- <pickup>
Указывает, доступен ли самовывоз.
Значение по умолчанию — это значение, которое используется, если элемента в файле нет. Например, если для элемента
element
значение по умолчаниюtrue
:\n
\n
\n\n Чтобы задать true \n
Чтобы задать false \n
\n
\n\n \n Можно не включать элемент в YML-файл. Если удобно, можно его задать явно:
\n
<element>true</element>
\n
\n
\n Нужно обязательно задать значение в файле:
\n
<element>false</element>
\n
\n
\n
\n\n Чтобы задать true \n
Чтобы задать false \n
\n
\n\n \n Можно не включать элемент в YML-файл. Если удобно, можно его задать явно:
\n
<element>true</element>
\n
\n
\n Нужно обязательно задать значение в файле:
\n
<element>false</element>
\n
\n
\n
\n
«}}»> — true
.
Добавьте в файл <pickup>false</pickup>
, если самовывоз недоступен.
Нужен только в YML-файле, управляющем размещением.
Не имеет атрибутов. Содержит до пяти элементов <option>, каждый из которых описывает один из способов курьерской доставки (например, обычная, ускоренная и так далее).
Может быть вложен в <shop> и в <offer>.
Внутри <shop> элемент <delivery-options> определяет способы доставки, которые магазин предлагает по умолчанию.
Внутри <offer> элемент <delivery-options> указывает, что для конкретного товара действуют не общие условия доставки, а специальные.
Параметры способа доставки <option> задаются атрибутами:
cost — не используется. Задайте любое число, чтобы файл прошел техническую проверку.
days — срок в рабочих днях, целое число или интервал, записанный через дефис. Для доставки в день заказа укажите 0, для доставки на следующий день — 1. Максимальное значение — 60. На Маркете нельзя продавать товары с неизвестным сроком доставки. Если поле
days
оставить пустым, то товар будет скрыт с витрины.order-before — до которого часа можно оформить доставку этим способом, чтобы срок начал отсчитываться с сегодняшнего дня. Целое число от 0 до 24. Это необязательный атрибут,
Значение по умолчанию — это значение, которое используется, если элемента в файле нет. Например, если для элемента
element
значение по умолчаниюtrue
:\n
\n
\n\n Чтобы задать true \n
Чтобы задать false \n
\n
\n\n \n Можно не включать элемент в YML-файл. Если удобно, можно его задать явно:
\n
<element>true</element>
\n
\n
\n Нужно обязательно задать значение в файле:
\n
<element>false</element>
\n
\n
\n
\n\n Чтобы задать true \n
Чтобы задать false \n
\n
\n\n \n Можно не включать элемент в YML-файл. Если удобно, можно его задать явно:
\n
<element>true</element>
\n
\n
\n Нужно обязательно задать значение в файле:
\n
<element>false</element>
\n
\n
\n
\n
«}}»> — 13.
Получится так:
<delivery-options> <option cost="123" days="4" order-before="18"/> </delivery-options>
Здесь указано, что покупатель может оформить доставку в течение 4 дней. Если он оформляет заказ после 18:00, срок начнет отсчитываться со следующего дня.
Способы доставки должны отличаться друг от друга и ценой, и сроками.
Нужен только в YML-файле, управляющем размещением.
Не имеет атрибутов. Содержит до пяти элементов <option>, каждый из которых описывает один из способов самовывоза.
Может быть вложен в <shop> и в <offer>.
Внутри <shop> элемент <pickup-options> определяет способы самовывоза, которые магазин предлагает по умолчанию.
Внутри <offer> элемент <pickup-options> указывает, что для конкретного товара действуют не общие условия самовывоза, а специальные.
Параметры способа самовывоза задаются атрибутами:
cost — не используется. Задайте любое число, чтобы файл прошел техническую проверку.
days — срок в рабочих днях, целое число или интервал, записанный через дефис. Для самовывоза в день заказа укажите 0, для самовывоза на следующий день — 1. Максимальное значение — 60. На Маркете нельзя продавать товары с неизвестным сроком самовывоза. Если поле
days
оставить пустым, то товар будет скрыт с витрины.order-before — до которого часа можно оформить самовывоз этим способом, чтобы срок начал отсчитываться с сегодняшнего дня. Целое число от 0 до 24. Это необязательный атрибут, значение по умолчанию — 13.
Получится так:
<pickup-options> <option cost="123" days="2" order-before="18"/> </pickup-options>
Здесь указано, что товар приедет на пункт выдачи в течение двух дней. Если покупатель оформляет заказ с самовывозом после 18:00, срок начнет отсчитываться со следующего дня.
Описание формата YML
Данный документ без изменений взят с сайта http://partner.market.yandex.ru/ (компания «Яндекс»)
В соответствии с Общими условиями (http://partner. market.yandex.ru/legal/general/)
в настоящем документе определены технические требования к структуре и иным
характеристикам, в обязательном порядке предъявляемым к Материалам, размещаемым
в базе данных Яндекс.Маркет.
Метод передачи данных
Размещаемые материалы должны быть опубликованы на сайте
клиента по URL-адресу, согласованному с компанией «Яндекс», и доступны по протоколам
HTTP или FTP. Допускается использование стандартной авторизации для
автоматического скачивания файла роботом Яндекс.Маркета, при этом данные для
авторизации должны также быть согласованы.
В случае изменения URL-адреса и/или авторизационных данных Клиент
должен уведомить об этом Яндекс не менее чем за три рабочих дня до изменения.
Формат данных
Передаваемые данные должны соответствовать спецификации
формата YML (см. ниже). Допускается публикация в упакованном виде с помощью
алгоритма GNU ZIP (суффикс gz). http://www.gzip.org/
Требования к сайту клиента и ссылкам на страницы сайта
Ссылки на сайт Клиента, публикуемые в составе предложений,
должны вести на соответствующие «страницы товара», т. е. на страницы, содержащие
описание предлагаемого товара, его цену и кнопку «Купить» или «Заказать».
Каждому размещаемому предложению должна соответствовать отдельная страница
товара.
Сайт клиента в целом и все страницы товаров должны
находиться в рабочем состоянии и быть доступными любому пользователю в течение
всего срока размещения предложений о продаже на Яндекс.Маркете.
На страницах товара не должны использоваться элементы,
приводящие к открытию дополнительных окон браузера (popup, popunder) или
переходу на другую страницу (redirect) без разрешения пользователя.
YML (Yandex Market Language) – стандарт,
разработанный «Яндексом» для принятия и публикации информации в базе данных Яндекс.Маркет.
YML основан на стандарте XML (Extensible Markup Language).
XML документ должен соответствовать следующему формату
(DTD):
<!ELEMENT yml_catalog (shop)> <!ATTLIST yml_catalog date CDATA #REQUIRED> <!ELEMENT shop (name, company, phone?, url, currencies, categories, deliveryIncluded?, offers)> <!ELEMENT company (#PCDATA)> <!ELEMENT phone (#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)>
Общие замечания по формату (необходимо учитывать при создании файлов в стандарте YML)
Стандарт XML учитывает порядок следования элементов,
поэтому важно соблюдать его в соответствии с прилагаемым DTD (см. приложение) или
примерами, приведенными ниже.
Стандарт XML не допускает появления символов с ASCII-кодами
в диапазоне значений от 0 до 31 (за исключением значений 9, 10, 13 – табуляция,
перевод строки, возврат каретки) в текстовых полях. Также этот стандарт строго
требует заменять в тексте все следующие символы.
Условия замены в текстовых полях
Текст | Замена |
« | " |
& | & |
> | > |
< | < |
‘ | ' |
Заголовок документа (XML header)
<?xml version="1.0" encoding="windows-1251"?> <!DOCTYPE yml_catalog SYSTEM "shops.dtd">
Стандартный XML-заголовок со ссылкой на файл описания
формата (DTD). Заголовок должен начинаться с первой строки, с нулевого символа.
Путь к shops.dtd прописывать не нужно, так как этот файл расположен на стороне Яндекс.Маркета.
Элемент yml_catalog
<yml_catalog date="2000-11-16 20:17"> ... </yml_catalog>
Корневой элемент полного списка товаров магазина должен
содержать один элемент, выделенный тэгами <shop> … </shop>. Формат
даты YYYY-MM-DD HH:mm. Дата и время, указанные в файле, должны соответствовать
дате и времени сгенерированного на стороне магазина файла.
Элемент shop
<shop> <name>BestShop</name> <company>Best online seller Inc.</company> <url>http://best.seller.ru/</url> <currencies> … </currencies> <categories> … </categories> <offers> … </offers> </shop>
Описание магазина и товаров магазина включает в себя
следующие поля:
Поле | Описание |
name | короткое название магазина. (То, которое выводится в |
company | полное наименование компании, владеющей магазином. Не |
url | url-адрес первой страницы магазина |
Элемент currencies
<currencies> <currency rate="1"/> <currency rate="31.5"/> <currency rate="30.4"/> … </currencies>
Список курсов валют магазина. Параметр id обозначает код валюты, а параметр – курс валюты к рублю. В
случае, если параметр rate, описанный в этом элементе, имеет значение ‘CBRF’,
то Яндекс.Маркет будет воспринимать курс валюты магазина как курс ЦБ РФ.
<currencies> <currency rate="1"/> <currency rate="CBRF"/> <currency rate="CBRF"/> … </currencies>
или ЦБ РФ + %
<currencies> <currency rate="1"/> <currency rate="CBRF" plus="3"/> <currency rate="CBRF" plus="3"/> … </currencies>
(в таком случае Яндекс. Маркет будет пересчитывать по курсу
ЦБ РФ +3%, для каждой из валют)
Внимание! В качестве разделителя целой и дробной частей стоимости
независимо от региональных установок используется точка (не запятая!).
Элемент categories
<categories> <category>Книги</category> <category>Видео</category> <category parentId="1">Детективы</category> <category parentId="1">Боевики</category> <category parentId="2">Комедии</category> <category>Принтеры</category> <category>Оргтехника</category> </categories>
Список категорий магазина.
Описание категории должно включать ее идентификатор (параметр id) для всех категорий и идентификатор категории
более высокого уровня для подкатегорий. Идентификатор категории должен быть
уникальным положительным целым числом. Ни у одной категории параметр id не
может быть равен «0». Если элемент parentId не указан, то
категория считается корневой.
Параметры:
id – идентификатор Вашей категории товаров
parentId – идентификатор предыдущей по иерархии категории товаров
Элемент offers
<offers> <offer>…</offer> … </offers>
Список товарных предложений магазинов. Содержит элементы
типа offer.
Описание элемента offer
Ниже приведены несколько примеров.
Описание товарного предложения через «vendor.model» (наиболее
удобный вариант с точки зрения Яндекс.Маркета)
<offer type="vendor.model"> <url>http://best.seller.ru/product_page.asp?pid=12344</url> <price>1500</price> <currencyId>USD</currencyId> <categoryId>6</categoryId> <picture>http://best.seller.ru/img/device12345.jpg</picture> <orderingTime> <ordering>В наличии</ordering> </orderingTime> <typePrefix>Принтер</typePrefix> <vendor>HP</vendor> <vendorCode>Q1861A<vendorCode> <model>Laser Jet 5100</model> <description> Принтер. Формат А4, А3. Технология печати: лазерная. Процессор: 300 МГц. Память: 32 Мб. Разрешение при печати: 1200х1200 т/д. Скорость печати: А3 11 стр./мин., А4 22 стр./мин. Плотность бумаги: 60-199 г/м2. Нагрузка до 65000 страниц в месяц. Лоток 1: 100 листов. Лоток 2: 250 листов. Лоток 3: 500 листов. </description> </offer>
Описание товарного предложения магазина в результатах поиска:
Компьютеры
/
Принтеры
Цены: 56400 р. ($1500) BestShop
Доступность: в наличии
Принтер. Формат А4, А3. Технология печати: лазерная. Процессор: 300 МГц. Память: 32 Мб. Разрешение при печати: 1200х1200 т/д. Скорость печати: А3 11 стр./мин., А4 22 стр./мин. Плотность бумаги: 60-199 г/м2. Нагрузка до 65000 страниц в месяц. Лоток 1: 100 листов. Лоток 2: 250 листов. Лоток 3: 500 листов.
Наиболее простое описание при поиске:
<offer id=”12346”> <url>http://best.seller. ru/product_page.asp?pid=12348</url> <price>210.54</price> <currencyId>EUR</currencyId> <categoryId>6</categoryId> <picture>http://best.seller.ru/img/device12345.jpg</picture> <orderingTime> <ordering>В наличии</ordering> </orderingTime> <name>Принтер HP Laser Jet 1100</name> <vendorCode>Q1861A<vendorCode> <description>Лазерный принтер, А4, 8 стр. в минуту, разрешение 600х600</description> </offer>
Описание товарного предложения магазина в результатах поиска:
Компьютеры
/
Принтеры
Цены: 56400 р. ($1500) BestShop
Доступность: в наличии
Принтер. Формат А4, А3. Технология печати: лазерная. Процессор: 300 МГц. Память: 32 Мб. Разрешение при печати: 1200х1200 т/д. Скорость печати: А3 11 стр./мин., А4 22 стр./мин. Плотность бумаги: 60-199 г/м2. Нагрузка до 65000 страниц в месяц. Лоток 1: 100 листов. Лоток 2: 250 листов. Лоток 3: 500 листов.
Описание тэгов, входящих в элемент <offer>
Тэги | Описание |
url | URL-адрес страницы товара |
price | цена, по которой данный товар |
currencyId | идентификатор валюты товара (RUR,USD,…) |
categoryId | идентификатор категории товара |
picture | ссылка на картинку |
typePrefix | Группа товаров \ категория |
vendor | Производитель |
model | Модель |
name | наименование товарного |
description | описание товарного предложения |
vendorCode | код товара (указывается, как |
orderingTime | статус товара |
ordering | состояние заказа («в наличии», «под заказ», «срок |
В YML существуют еще несколько типов описаний предложений
товаров: <vendor>, <model>,
<book>, <artist> и
<tour>. В зависимости от типа описания
используется соответствующие поля, согласно прилагаемой схемой DTD (см.
приложение).
Представление товарных предложений типа «книги» и «медиапродукция»,
описание которых может быть произведено посредством специализированных элементов:
Книги
<offer type="book"> <url>http://best.seller.ru/product_page.asp?pid=14345</url> <price>65</price> <currencyId>RUR</currencyId> <categoryId>3</categoryId> <picture>http://best.seller.ru/product_page.asp?pid=14345.jpg</picture> <orderingTime> <ordering>в наличии</ordering> </orderingTime> <author>Александра Маринина</author> <name>Мужские игры</name> <publisher>ЭКСМО - Пресс</publisher> <series>Детектив глазами женщины</series> <year>1999</year> <ISBN>32142143214</ISBN> <description> Кажется, невозможно подобрать ключ к новому, запутанному делу, что предстоит расследовать сотруднику уголовного розыска Анастасии Каменской. Крупный мафиози Эдуард Денисов дает сотруднику уголовного розыска Насте Каменской нить к разгадке преступлений. </description> </offer>
Описание товарного
предложения магазина в результатах поиска:
Книги
/
Художественная литература
/
Детективы
Цены: 65 р. BestShop
Доступность: в наличии
Доставка: Россия
Издательство: ЭКСМО-Пресс
Серия: Детектив глазами женщины
Год издания: 1999
ISBN: 32142143214
Автор: Александра Маринина
Кажется, невозможно подобрать
ключ к новому, запутанному делу, что предстоит расследовать сотруднику
уголовного розыска Анастасии Каменской. Крупный мафиози Эдуард Денисов дает
сотруднику уголовного розыска Насте Каменской нить к разгадке преступлений.
Тэг | Описание |
author | автор произведения |
name | наименование |
publisher | издательство |
series | серия |
year | год издания |
ISBN | код книги |
Описание музыкальной продукции
<offer type="artist. title"> <url>http://best.seller.ru/product_page.asp?pid=12946</url> <price>150</price> <currencyId>USD</currencyId> <categoryId>2</categoryId> <picture>http://best.seller.ru/product_page.asp?pid=14345.jpg</picture> <artist>Pink Floyd</artist> <title>Dark Side Of The Moon, Platinum Disc</title> <year>1999<year> <media>CD</media> </offer>
В результатах поиска:
Музыка
Цены: 150 р. ($150) BestShop
Доступность: в наличии
Доставка: Россия
Год издания: 1999
Носитель: CD
Тэг | Описание |
artist | исполнитель |
title | наименование |
media | носитель |
Описание видео продукции:
<offer type="artist. title"> <url>http://best.seller.ru/product_page.asp?pid=92347</url> <price>93</price> <currencyId>RUR</currencyId> <categoryId>2</categoryId> <picture>http://best.seller.ru/img/device92347.jpg</picture> <title>Свадьба Мюриэл</title> <year>1999<year> <media>DVD<media> <starring>Тони Колетт (Toni Collette), Рэйчел Грифитс (Rachel Griffiths)</starring> <director>П Дж Хоген</director> <originalName>Muriel's wedding</originalName> <country>Австралия</country> <description> "Гадкий утенок" из провинциального городка покидает свое гнездо, и в компании своей подруги отправляется искать веселой жизни в большой и загадочный город. Фильм о мечтах и реальности, дружбе и юности молодой девушки, приключения которой повторяют судьбы Золушки и героини Джулии Робертс из ставшего классикой фильма "Красотка"... </description> </offer>
В результатах поиска:
Фильмы
Цены: 93 р. BestShop
Доступность: в наличии
Доставка: Россия
Носитель: DVD
Год издания: 1999
Режиссер: П. Д. Хоган
Страна: Австралия
Оригинальное название: Muriel’s Wedding
Главные роли: Тони Колетт (Toni Collette), Рэйчел Грифитс (Rachel Griffiths)
«Гадкий утенок» из
провинциального городка покидает свое гнездо, и в компании своей подруги
отправляется искать веселой жизни в большой и загадочный город. Фильм о мечтах
и реальности, дружбе и юности молодой девушки, приключения которой повторяют
судьбы Золушки и героини Джулии Робертс из ставшего классикой фильма
«Красотка»…
Тэг | Описание |
title | название фильма |
starring | актеры |
director | режиссер |
originalName | оригинальное |
country | страна |
year | год |
media | носитель |
Яндекс оставляет за собой право поменять вид выдачи
предложений, поэтому не гарантирует показ предложений в том виде, в котором они
представлены в примерах.
Тэг picture
Для каждого товарного
предложения в элементе <offer> можно указать URL-адрес картинки,
соответствующей данному товарному предложению.
Пример:<picture>http://best.seller.ru/img/device12345.jpg</picture>
По указанному URL-адресу
должна отдаваться картинка формата jpeg, gif или png не меньше чем 100х100.
Картинки большего размера будут уменьшены автоматически. Ссылка на HTML с
картинкой не допустима.
Для того чтобы рядом с
товарным предложением показывалось изображение этого товара, необходимо чтобы
на вашем сервере в файле robots.txt изображения были открыты для
индексирования.
Правила индексации в поисковой
системе «Яндекс» можно посмотреть по ссылке:
https://yandex.ru/support/webmaster/recommendations/indexing.xml
Тэги description и name
В полях <description> или <name>, допускается вводить
текст длиною не более 255 символов. Если длина описания выходит за пределы
допустимого значения, то текст обрезается и в конце проставляется многоточие.
Условия отключения сайта от базы данных Яндекс.Маркет
Интернет-магазин отключается от базы данных Яндекс.Маркет при несоблюдении вышеизложенных требований и условий, описанных в договоре.
Что такое YAML?
YAML — это человекочитаемый язык сериализации данных, который часто используется для написания файлов конфигурации. В зависимости от того, кого вы спросите, YAML означает еще один язык разметки или YAML — это не язык разметки (рекурсивная аббревиатура), что подчеркивает, что YAML предназначен для данных, а не для документов.
YAML — популярный язык программирования, поскольку он разработан таким образом, чтобы его было легко читать и понимать. Его также можно использовать в сочетании с другими языками программирования. Из-за своей гибкости и доступности YAML используется средством автоматизации Ansible для создания процессов автоматизации в форме Ansible Playbooks.
Файлы
YAML используют расширение .yml или .yaml и следуют определенным правилам синтаксиса.
YAML имеет функции, взятые из Perl, C, XML, HTML и других языков программирования. YAML также является расширенным набором JSON, поэтому файлы JSON допустимы в YAML.
Нет обычных символов формата, таких как фигурные скобки, квадратные скобки, закрывающие теги или кавычки. А файлы YAML проще читать, поскольку они используют отступы в стиле Python для определения структуры и указания вложенности. Символы табуляции не разрешены по дизайну, чтобы поддерживать переносимость между системами, поэтому вместо них используются пробелы — буквальные символы пробела.
Комментарии можно идентифицировать с помощью символа решетки или решетки (#). Всегда лучше использовать комментарии, поскольку они описывают назначение кода. YAML не поддерживает многострочные комментарии, каждая строка должна иметь суффикс с символом решетки.
Обычный вопрос новичков YAML: «Что означают 3 тире?» Три тире (—) используются для обозначения начала документа, а каждый документ заканчивается тремя точками (. ..).
Это очень простой пример файла YAML:
#Комментарий: это список супермаркетов с использованием YAML #Обратите внимание, что - символ представляет список --- еда: - овощи: помидоры #первый пункт списка - фрукты: #второй элемент списка лимоны: апельсины тропический: бананы орехи: арахис сладости: изюм
Обратите внимание, что структура файла YAML представляет собой карту или список и следует иерархии в зависимости от отступа и того, как вы определяете значения ключей.
Карты позволяют связывать пары ключ-значение. Каждый ключ должен быть уникальным, и порядок не имеет значения. Подумайте о словаре Python или о присвоении переменной в скрипте Bash.
Карта в YAML должна быть разрешена, прежде чем ее можно будет закрыть, и будет создана новая карта. Новую карту можно создать либо увеличив уровень отступа, либо разрешив предыдущую карту и начав соседнюю карту.
Список включает значения, перечисленные в определенном порядке, и может содержать любое необходимое количество элементов. Последовательность списка начинается с дефиса (-) и пробела, а отступ отделяет ее от родителя. Вы можете думать о последовательности как о списке Python или массиве в Bash или Perl. Список может быть встроен в карту.
В приведенном выше примере «овощи» и «фрукты» представляют элементы, которые являются частью списка «еда».
YAML также содержит скаляры, которые представляют собой произвольные данные (закодированные в Unicode), которые можно использовать в качестве значений, таких как строки, целые числа, даты, числа или логические значения.
При создании файла YAML вам необходимо убедиться, что вы следуете этим правилам синтаксиса и что ваш файл действителен. Для этого можно использовать линтер — приложение, которое проверяет синтаксис файла. Команда yamllint может помочь убедиться, что вы создали действительный файл YAML, прежде чем передать его приложению.
Вот пример простого файла YAML для записи учащегося, демонстрирующего правила синтаксиса:
#Комментарий: Студенческая запись #Описывает некоторые характеристики и предпочтения --- имя: Мартин Д'влопер #ключ-значение возраст: 26 увлечения: - покраска #первого элемента списка -play_music #второй элемент списка - приготовление #третьего пункта списка языки программирования: Java: средний питон: продвинутый javascript: начинающий любимая еда: - овощи: помидоры - фрукты: лимоны: апельсины тропический: бананы орехи: арахис сладости: изюм
Когда мы переведем этот файл на Python, используя библиотеку PyYAML, вы получите следующую структуру данных:
[ { "name": "Мартин Д'влопер", "возраст": 26, "хобби": ["рисование", "музыка", "готовка"], "языки программирования": { "java": "Средний", "питон": "Дополнительно", "javascript": "Начинающий", }, "любимая еда": [ {"овощи": "помидоры"}, { "фрукты": { "цитрусы": "апельсины", «тропический»: «бананы», "орехи": "арахис", "сладости": "изюм", } }, ], } ]
Одним из наиболее распространенных способов использования YAML является создание файлов конфигурации. Файлы конфигурации рекомендуется записывать в YAML, а не в JSON, хотя в большинстве случаев они взаимозаменяемы, поскольку YAML лучше читается и более удобен для пользователя.
Помимо использования в Ansible, YAML используется для ресурсов и развертываний Kubernetes.
Преимущество использования YAML заключается в том, что файлы YAML можно добавлять в систему управления версиями, например Github, чтобы можно было отслеживать и проверять изменения.
В чем разница между Ansible и Red Hat Ansible Automation Platform?
YAML в Ansible
Ansible Playbooks используются для организации ИТ-процессов. Playbook — это файл YAML, содержащий 1 или более воспроизведений, и используется для определения желаемого состояния системы.
Каждое воспроизведение может запускать одну или несколько задач, и каждая задача вызывает модуль Ansible. Модули используются для выполнения задач автоматизации в Ansible. Модули Ansible можно писать на любом языке, который может возвращать JSON, например на Ruby, Python или bash.
Ansible Playbook состоит из карт и списков. Чтобы создать книгу воспроизведения, запустите список YAML, который называет игру, а затем перечисляет задачи в последовательности. Помните, что отступы не являются признаком логического наследования. Думайте о каждой строке как о типе данных YAML (список или карта).
Используя шаблоны YAML, пользователи Ansible могут программировать повторяющиеся задачи так, чтобы они выполнялись автоматически, без необходимости изучения продвинутого языка программирования.
Изучите основы Ansible
YAML для Kubernetes
Kubernetes работает на основе определенного состояния и фактического состояния. Объекты Kubernetes представляют состояние кластера и сообщают Kubernetes, как должна выглядеть рабочая нагрузка. Ресурсы Kubernetes, такие как модули, объекты и развертывания, можно создавать с помощью файлов YAML.
При создании объекта Kubernetes вам необходимо включить спецификации, чтобы определить желаемое состояние объекта. API Kubernetes можно использовать для создания объекта. Запрос к API будет включать спецификации объекта в формате JSON, но чаще всего вы предоставляете kubectl необходимую информацию в виде файла YAML. Kubectl преобразует файл в YAML для вас, когда он сделает запрос API.
После создания и определения объекта Kubernetes работает над тем, чтобы этот объект всегда существовал.
Разработчики или системные администраторы указывают определенное состояние с помощью файлов YAML или JSON, которые они отправляют в API Kubernetes. Kubernetes использует контроллер для анализа разницы между новым определенным состоянием и фактическим состоянием в кластере.
Удобочитаемый язык автоматизации YAML Red Hat Ansible Automation Platform позволяет пользователям в организации совместно использовать, проверять и управлять контентом автоматизации. Он включает в себя все инструменты, необходимые для реализации автоматизации в масштабах предприятия, включая сборники сценариев и аналитику. И это позволяет пользователям централизовать и контролировать свою ИТ-инфраструктуру с помощью визуальной панели управления, управления доступом на основе ролей и т. д., чтобы упростить работу.
С подпиской Red Hat вы получаете сертифицированный контент, надежную партнерскую экосистему, доступ к размещенным службам управления и техническую поддержку на протяжении всего жизненного цикла, которая позволяет вашим командам создавать, управлять и масштабировать автоматизацию в вашей организации. И вы получите экспертные знания, полученные благодаря нашему успеху с тысячами клиентов.
Узнайте больше об Ansible Automation Platform
Red Hat OpenShift — это Kubernetes для предприятий. Он включает в себя все дополнительные технологии, которые делают Kubernetes мощным и жизнеспособным для предприятия, включая реестр, сеть, телеметрию, безопасность, автоматизацию и службы.
С помощью Red Hat OpenShift разработчики могут создавать новые контейнерные приложения, размещать их и развертывать в облаке с масштабируемостью, контролем и оркестровкой, которые могут быстро и легко превратить хорошую идею в новый бизнес.
Учебное пособие по YAML: все, что вам нужно, чтобы начать работу за считанные минуты
YAML — это не язык разметки ( YAML ) — это язык сериализации данных, который неизменно входит в число самых популярных языков программирования. Он часто используется в качестве формата для файлов конфигурации, но его возможности сериализации объектов делают его жизнеспособной заменой для таких языков, как JSON. Это руководство по YAML продемонстрирует синтаксис языка с помощью руководства и нескольких простых примеров кодирования на Питон . YAML имеет широкую языковую поддержку и легко сопоставляется с собственными структурами данных. Его также легко читать людям, поэтому это хороший выбор для настройки. Аббревиатура YAML была сокращением от «Еще один язык разметки». Но сопровождающие переименовали его в YAML — это не язык разметки, чтобы уделить больше внимания его функциям, ориентированным на данные.
Краткое руководство по YAML: простой файл
Давайте кратко рассмотрим файл YAML.
--- лань: «олень, олень» луч: "капля золотого солнца" Пи: 3,14159Рождество: правда французские куры: 3 кричащие птицы: - хьюи - Дьюи - Луи - Фред рождество пятого дня: призывные птицы: четыре французские куры: 3 золотые кольца: 5 куропатки: количество: 1 локация: "грушевое дерево" горлицы: две
Файл начинается с трех дефисов. Эти тире обозначают начало нового документа YAML. YAML поддерживает несколько документов, и совместимые синтаксические анализаторы распознают каждый набор дефисов как начало нового. Далее мы видим конструкцию, которая составляет большую часть типичного документа YAML: пару ключ-значение. «Лань» — это ключ, указывающий на строковое значение: «олень, самка оленя». YAML поддерживает не только строковые значения. Файл начинается с шести пар ключ-значение. Они имеют четыре разных типа данных. «лань» и «луч» — это строки. «Пи» — это число с плавающей запятой. «xmas» является логическим значением. «Французские куры» — целое число. Вы можете заключать строки в одинарные (‘) или двойные кавычки (“) или вообще без кавычек. YAML распознает числа без кавычек как целые числа или числа с плавающей запятой. Седьмой элемент — это массив. «Зовящие птицы» состоят из четырех элементов, каждый из которых обозначается открывающим тире. Я сделал отступ между элементами в «Calling-birds» двумя пробелами. Отступ — это то, как YAML обозначает вложенность. Количество пробелов может варьироваться от файла к файлу, но вкладки не допускаются. Ниже мы рассмотрим, как работает отступ. Наконец, мы видим «xmas-fifth-day», внутри которого есть еще пять элементов, каждый из которых имеет отступ. Мы можем рассматривать «xmas-fifth-day» как словарь, содержащий две строки, два целых числа и еще один словарь. YAML поддерживает вложение ключей и значений и смешивание типов. Прежде чем углубляться, давайте посмотрим, как этот документ выглядит в формате JSON. Я брошу это в этот удобный Конвертер JSON в YAML .
{ "лань": "олень, олень", "луч": "капля золотого солнца", "пи": 3.14159, "рождество": правда, «французские куры»: 3, "звонящие птицы": [ "Хьюи", "Дьюи", "Луи", "Фред" ], "рождество-пятый день": { «звонящие птицы»: «четыре», «французские куры»: 3, «золотые кольца»: 5, "куропатки": { "количество": 1, "местоположение": "грушевое дерево" }, "горлицы": "два" } }
JSON и YAML имеют схожие возможности, и вы можете конвертировать большинство документов между этими форматами.
Отступ контура и пробелы
Пробелы являются частью форматирования YAML. Если не указано иное, символы новой строки указывают на конец поля. Вы структурируете документ YAML с отступом. Уровень отступа может быть одним или несколькими пробелами. Спецификация запрещает вкладки, потому что инструменты обрабатывают их по-разному. Рассмотрим этот документ. Элементы внутри имеют отступ с двумя пробелами.
фу: бар Пле: помогите вещи: фу: бар бар: фу
Давайте посмотрим, как простой скрипт на Python просматривает этот документ. Мы сохраним его как файл с именем foo.yaml . Пакет PyYAML сопоставит файловый поток YAML со словарем. Мы пройдемся по самому внешнему набору ключей и значений и напечатаем ключ и строковое представление каждого значения. Вы можете найти процессор для вашей любимой платформы здесь.
Ямл импортный из загрузки импорта yaml пытаться: из yaml импортировать CLoader как загрузчик кроме ошибки импорта: из загрузчика импорта yaml если __name__ == '__main__': поток = открыть ("foo. yaml", 'r') словарь = yaml.load (поток) для ключа, значение в словаре.items(): печать (клавиша + ": " + ул (значение))
Вывод:
foo : бар Пле: помогите stuff : {'foo': 'bar', 'bar': 'foo'}
Когда мы говорим python напечатать словарь в виде строки, он использует встроенный синтаксис, который мы увидим ниже. Из вывода видно, что наш документ представляет собой словарь Python с двумя строками и еще одним словарем, вложенным в него. Простая вложенность YAML дает нам возможность создавать сложные объекты. Но это только начало.
Комментарии
Комментарии начинаются со знака решетки. Они могут стоять после значения документа или занимать целую строку.
___ # Это комментарий на всю строку foo: bar # это тоже комментарий
Комментарии предназначены для людей. Процессоры YAML отбросят их.
Типы данных YAML
Значения в парах ключ-значение YAML являются скалярными. Они действуют как скалярные типы в таких языках, как Perl, Javascript и Python. Обычно достаточно заключать строки в кавычки, оставлять числа без кавычек и позволить синтаксическому анализатору разобраться с этим. Но это только верхушка айсберга. YAML способен на гораздо большее.
Пары «ключ-значение» и словари
Ключ-значение — это основной строительный блок YAML. Каждый элемент в документе YAML является членом хотя бы одного словаря. Ключ всегда является строкой. Значение является скаляром, поэтому может быть любым типом данных. Итак, как мы уже видели, значение может быть строкой, числом или другим словарем.
Числовые типы
YAML распознает числовые типы. Выше мы видели числа с плавающей запятой и целые числа. YAML поддерживает несколько других числовых типов. Целое число может быть десятичным, шестнадцатеричным или восьмеричным.
--- фу: 12345 бар: 0x12d4 plop: 023332
Давайте запустим наш скрипт Python для этого документа.
фу : 12345 бар : 4820 plop : 9946
Как и следовало ожидать, Ox указывает, что значение является шестнадцатеричным, а начальный ноль обозначает восьмеричное значение. YAML поддерживает как фиксированные, так и экспоненциальные числа с плавающей запятой.
--- фу: 1230.15 bar: 12.3015e+05
Когда мы оцениваем эти записи, мы видим:
foo : 1230.15 bar : 1230150.0
Наконец, мы можем представить не-число (NAN) или бесконечность.
--- фу: .inf бар: -.Inf plop: .NAN
Значение foo равно бесконечности. Bar — это отрицательная бесконечность, а plop — это NAN.
Строки
Строки YAML имеют кодировку Unicode. В большинстве случаев вам не нужно указывать их в кавычках.
--- foo: это обычная строка
Наша тестовая программа обрабатывает это как:
foo: это обычная строка
Но если мы хотим обрабатывать управляющие последовательности, нам нужно использовать двойные кавычки.
--- foo: "это не обычная строка\n" bar: это не обычная строка\n
YAML обрабатывает первое значение как заканчивающееся возвратом каретки и переводом строки. Поскольку второе значение не заключено в кавычки, YAML рассматривает \n как два символа.
foo: это не обычная строка bar: это не обычная строка\n
YAML не экранирует строки с одинарными кавычками, но одинарные кавычки позволяют избежать интерпретации содержимого строки как форматирования документа. Строковые значения могут занимать более одной строки. С помощью символа сгиба (больше чем) вы можете указать строку в блоке.
бар: > это не обычная строка это охватывает более одна линия видеть?
Но интерпретируется без перевода строки.
bar : это не обычная строка, она занимает более одной строки, понимаете?
Символ блока (вертикальной черты) имеет аналогичную функцию, но YAML интерпретирует поле точно так, как оно есть.
бар: | это не обычная строка это охватывает более одна линия видеть?
Итак, мы видим новые строки там, где они есть в документе.
бар: это не обычная строка охватывает более одна линия видеть?
Пустые значения
Пустые значения вводятся с помощью тильды (~) или строкового литерала нулевого значения без кавычек.
--- фу: ~ bar: null
Наша программа выводит:
foo : None bar : None
Представление Python для null равно None.
Булевы значения
YAML указывает логические значения с ключевыми словами True, On и Yes для true. False обозначается False, Off или №
--- фу: правда бар: Ложь включить свет ТВ: Выкл.
Массивы
Вы можете указать массивы или списки в одной строке.
--- предметы: [ 1, 2, 3, 4, 5 ] имена: [ "один", "два", "три", "четыре" ]
Или вы можете поместить их на несколько строк.
--- предметы: - 1 - 2 - 3 - 4 - 5 имена: - "один" - "два" - "три" - "четыре"
Многострочный формат удобен для списков, содержащих сложные объекты вместо скаляров.
___ предметы: - вещи: вещь 1: хьюи вещи2: Дьюи вещь 3: Луи - другие вещи: ключ: значение
Массив может содержать любое допустимое значение YAML. Значения в списке не обязательно должны быть одного типа.
Словари
Мы рассмотрели словари выше, но это еще не все. Как и массивы, вы можете поместить словари в строку. Мы видели этот формат выше. Так Python печатает словари.
--- foo: { вещь1: Хьюи, вещь2: Луи, вещь3: Дьюи}
Мы уже видели, как они соединяют строки раньше.
--- фу: бар bar: foo
И, конечно же, они могут быть вложенными и содержать любое значение.
--- фу: бар: - бар - раб - plop
Дополнительные параметры
Модификаторы Chomp
Многострочные значения могут заканчиваться пробелами, и в зависимости от того, как вы хотите обработать документ, вы можете не захотеть его сохранять. В YAML есть операторы strip chomp и save chomp. Чтобы сохранить последний символ, добавьте плюс к операторам fold или block.
бар: >+ это не обычная строка это охватывает более одна линия видеть?
Таким образом, если значение заканчивается пробелом, например новой строкой, YAML сохранит его. Чтобы убрать символ, используйте оператор полосы.
бар: |- это не обычная строка это охватывает более одна линия видеть?
Несколько документов
Документ начинается с трех тире и заканчивается тремя точками. Некоторым процессорам YAML требуется оператор запуска документа. Конечный оператор обычно необязателен. Например, Jackson в Java не будет обрабатывать документ YAML без начала, а PyYAML в Python — сможет. Обычно вы будете использовать оператор конца документа, когда файл содержит несколько документов. Давайте изменим наш код Python.
импортный ямл из загрузки импорта yaml пытаться: из yaml импортировать CLoader как загрузчик кроме ошибки импорта: из загрузчика импорта yaml если __name__ == '__main__': поток = открыть ("foo.yaml", 'r') словарь = yaml.load_all (поток, загрузчик) для документа в словаре: print("Новый документ:") для ключа, значение в doc.items(): печать (ключ + ": " + ул (значение)) если тип (значение) список: print(str(len(value)))
PyYAML load_all будет обрабатывать все документы в потоке. Теперь давайте обработаем с его помощью составной документ.
--- бар: фу фу: бар ... --- один два три: четыре
Сценарий находит два документа YAML.
Новый документ: бар: фу фу : бар Новый документ: один два three : Four
Заключение
YAML — это мощный язык, который можно использовать для файлов конфигурации, сообщений между приложениями и сохранения состояния приложения. Мы рассмотрели его наиболее часто используемые функции, в том числе то, как использовать встроенные типы данных и структурировать сложные документы. Некоторые 9Платформы 0083 поддерживают расширенные функции YAML, включая пользовательские типы данных.
CloudBees предоставляет многочисленные сообщения в блоге , в которых обсуждаются преимущества использования YAML для управления данными приложений и конфигурации. Если вам интересно узнать больше о YAML и его приложениях, мы приглашаем вас изучить множество сообщений в блогах, созданных CloudBees, о технологиях, связанных с YAML.