Как предположил Кевин, вдохновленный
migrate_plus.migration.wine_role_xml.yml
файл из модуля migrate_plus, мне удалось заставить его работать как таковой:
идентификатор: beetween_jobs
label: 'Мигрировать между заданиями из файла XML'
миграция_группа: по умолчанию
источник:
# Мы используем плагин парсера данных XML.
плагин: адрес
data_fetcher_plugin: http
data_parser_plugin: xml
# Обычно это один или несколько полных URL-адресов или путей к файлам. Так как
# мы не можем жестко закодировать ваш локальный URL, здесь мы указываем относительный путь, который
# hook_install() перепишет полный URL текущего сайта.
URL:
- https://my_website/files/ressources_docs/beetween.xml
# Посетите указанный выше URL (относительно корня вашего сайта) и посмотрите на него. Ты можешь видеть
# что <response> является внешним элементом, и каждый элемент, который мы хотим импортировать, является
# Элемент <позиция>. Значение item_xpath — это xpath, используемый для запроса
# нужные элементы.
item_selector: /корень/работа
# В разделе «поля» мы перечисляем элементы данных, которые необходимо импортировать. Ключи первого уровня
# — это имена исходных полей, которые мы хотим заполнить (имена, которые будут использоваться как
# источники в конфигурации процесса ниже). Для каждого поля, которое мы импортируем,
# указываем метку (необязательно - это для отображения в инструментах миграции) и
# xpath для получения этого значения. Важно отметить, что этот xpath
# относится к элементам, полученным с помощью item_xpath.
поля:
-
имя: титул
метка: 'название'
селектор: заголовок
-
Название: диффузия
метка: 'диффузия'
селектор: диффузия
# Под 'id' мы идентифицируем исходные поля, заполненные выше, которые будут уникальными
# определить каждый импортированный элемент. «Тип» гарантирует, что таблица карты миграции
# использует правильный тип схемы для сохраненных идентификаторов.
идентификаторы:
заглавие:
тип: строка
процесс:
# Обратите внимание, что имена исходных полей здесь (machine_name и friendly_name) были
# определяется конфигурацией 'fields' исходного плагина выше.
название: название
field_diffusion: диффузия
пункт назначения:
плагин: 'сущность: узел'
default_bundle: работа
миграция_зависимости:
обязательный: { }
по желанию: { }