通过 JSONIX 解组 SOS GetCapabilities 仅产生抽象产品数据
Unmarshalling SOS GetCapabilities via JSONIX yields only abstract offering data
我正在尝试使用 jsonix 解组来自 SOS_2_0 的 GetCapabilities 响应。下面是我编写的用于解组 xml 字符串的代码。它似乎工作正常,但并非所有元素都已正确映射。
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;
}
在下面的屏幕截图中,显然 'contents' 中的所有 'offerings' 都默认为抽象类型 (SWES_2_0.AbstractContentsType.Offering),并且没有关于 sensor/observation 的信息在他们提供。这很奇怪,因为 'filtercapabilities' 等其他元素也包含所有信息和属性。无论是否将命名空间参数传递给 unmarshallString,我都试过了,它似乎没有什么不同。我有什么根本上的误解吗?
。
问题出在 SWES_2_0
映射中。 SWES_2_0.AbstractContentsType.Offering
类型的 abstractOffering
属性 是 generated as "element" 属性:
{
ln: 'AbstractContentsType.Offering',
tn: null,
ps: [{
n: 'abstractOffering',
rq: true,
en: 'AbstractOffering',
ti: '.AbstractOfferingType'
}]
}
这应该是 "element reference" 属性 以允许 swes:AbstractOffering
元素通过替换组被其他元素替换。
现在应该在 ogc-schemas trunk, see the test 中修复此问题。
我正在尝试使用 jsonix 解组来自 SOS_2_0 的 GetCapabilities 响应。下面是我编写的用于解组 xml 字符串的代码。它似乎工作正常,但并非所有元素都已正确映射。
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;
}
在下面的屏幕截图中,显然 'contents' 中的所有 'offerings' 都默认为抽象类型 (SWES_2_0.AbstractContentsType.Offering),并且没有关于 sensor/observation 的信息在他们提供。这很奇怪,因为 'filtercapabilities' 等其他元素也包含所有信息和属性。无论是否将命名空间参数传递给 unmarshallString,我都试过了,它似乎没有什么不同。我有什么根本上的误解吗?
问题出在 SWES_2_0
映射中。 SWES_2_0.AbstractContentsType.Offering
类型的 abstractOffering
属性 是 generated as "element" 属性:
{
ln: 'AbstractContentsType.Offering',
tn: null,
ps: [{
n: 'abstractOffering',
rq: true,
en: 'AbstractOffering',
ti: '.AbstractOfferingType'
}]
}
这应该是 "element reference" 属性 以允许 swes:AbstractOffering
元素通过替换组被其他元素替换。
现在应该在 ogc-schemas trunk, see the test 中修复此问题。