Как я могу отобразить страницу 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), и вам нужно как-то ее создать.