Я пытаюсь использовать jsonix для отмены ответа GetCapabilities от SOS_2_0. Ниже приведен код, который я написал для отмены строки xml. Кажется, что он работает нормально, однако не все элементы были правильно отображены.Unmarshalling SOS GetCapabilities через JSONIX дает только абстрактные данные предложения
function jsonixParseSensors(xmlStr) {
var module = SOS_2_0_Module_Factory();
var context = new Jsonix.Context([XLink_1_0, GML_3_2_1, OWS_1_1_0, SWE_2_0, SWES_2_0, WSN_T_1, WS_Addr_1_0_Core, OM_2_0, ISO19139_GMD_20070417, ISO19139_GCO_20070417, ISO19139_GSS_20070417, ISO19139_GTS_20070417, ISO19139_GSR_20070417, Filter_2_0, SOS_2_0]);
var unmarshaller = context.createUnmarshaller();
var data = unmarshaller.unmarshalString(xmlStr);
return data;
}
На скриншоте ниже видно, все «предложения» в «содержимое» являются по умолчанию для абстрактного типа (SWES_2_0.AbstractContentsType.Offering) и не имеют никакой информации о размещении датчиков/наблюдения в них. Это странно, потому что другие элементы, такие как «filtercapabilities», содержат всю информацию и атрибуты. Я пробовал это как с помощью, так и без передачи аргументов namespacing для unmarshallString, и это, похоже, не имеет значения. Есть ли что-то, что я принципиально недопонимаю?
SOS GetCapabilities xml from Botts-Geo
SOS GetCapabilities xml from Sensiasoft
Пожалуйста, покажите свой XML. – lexicore
Редактировать сейчас включает скриншот xml – user2714417
Я не могу сразу обнаружить проблему. Не могли бы вы приготовить скрипку? Как этот: https://jsfiddle.net/lexi/6skd7x8u/ – lexicore