2016-06-08 5 views
1

Я пытаюсь использовать 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, и это, похоже, не имеет значения. Есть ли что-то, что я принципиально недопонимаю?

enter image description here.

enter image description here

SOS GetCapabilities xml from Botts-Geo

SOS GetCapabilities xml from Sensiasoft

+0

Пожалуйста, покажите свой XML. – lexicore

+0

Редактировать сейчас включает скриншот xml – user2714417

+0

Я не могу сразу обнаружить проблему. Не могли бы вы приготовить скрипку? Как этот: https://jsfiddle.net/lexi/6skd7x8u/ – lexicore

ответ

1

Проблема заключалась в SWES_2_0 отображения. abstractOffering свойство SWES_2_0.AbstractContentsType.Offering типа был generated как свойство «элемента»:

{ 
    ln: 'AbstractContentsType.Offering', 
    tn: null, 
    ps: [{ 
     n: 'abstractOffering', 
     rq: true, 
     en: 'AbstractOffering', 
     ti: '.AbstractOfferingType' 
     }] 
    } 

Это должно было быть свойство «опорный элемент», чтобы позволить swes:AbstractOffering элемент должны быть заменены другими элементами с помощью замещающих групп.

Это должно быть исправлено сейчас в ogc-schemas багажнике, см. test.

+0

Теперь он работает, благодаря чему вы можете рассчитывать на своевременный ответ и даже больше за свои вклады в jsonix и ogc-schemas. Очень впечатляющая работа! – user2714417

+0

@ пользователь2714417 спасибо. – lexicore