Как я могу отобразить страницу XML вместо JSON, для набора данных

Я использую расширение pycsw для создания файла CSW. Я собрал данные из одного экземпляра CKAN [1] в другой [2] и теперь пытаюсь запустить команду pycsw 'paster load':

paster ckan-pycsw load -p /etc/ckan/default/pycsw.cfg -u [CKAN INSTANCE]

Я получаю ошибку:

Could not pass xml doc from [ID], Error: Start tag expected, '<' not found, line 1, column 1

Я думаю, это потому, что когда я посещаю этот URL:

[CKAN INSTANCE 2]/harvest/object/[ID]

Он приходит с файлом JSON, а не с XML (который он ожидает)

Я выполнил команду pycsw load на других экземплярах ckan, и у меня не было проблем с ними. Они также отображают XML-файл по указанному выше адресу, поэтому я хотел знать, как заставить CKAN обслуживать XML-файл вместо JSON?

Заранее благодарю за любую помощь!

1 ответ

Решение

Как вы уже разобрались, ваши наборы данных должны быть в формате ISO(XML) для загрузки на сервер CSW. CKAN имеет копию набора данных только в формате ISO(XML), если он собрал их из CSW.

Если в цепочке вы используете харвестер CKAN (-to-CKAN), то запись ISO(XML) с ним не передается. Таким образом, вам нужно либо добавить эту функциональность в харвестер CKAN (-to-CKAN), либо избавиться от шага сбора урожая CKAN-в-CKAN.

В качестве альтернативы, если запись возникла из CKAN, то у нее все равно нет версии ISO(XML), и вам нужно как-то ее создать.

Другие вопросы по тегам