CSWGetRecords format additions for parsing GeoNetwork specific fields, p=fvanderbiest, r=bartvde,me (closes #2961)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@11959 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -27,13 +27,14 @@ OpenLayers.Format.CSWGetRecords.v2_0_2 = OpenLayers.Class(OpenLayers.Format.XML,
|
|||||||
* {Object} Mapping of namespace aliases to namespace URIs.
|
* {Object} Mapping of namespace aliases to namespace URIs.
|
||||||
*/
|
*/
|
||||||
namespaces: {
|
namespaces: {
|
||||||
xlink: "http://www.w3.org/1999/xlink",
|
|
||||||
xsi: "http://www.w3.org/2001/XMLSchema-instance",
|
|
||||||
csw: "http://www.opengis.net/cat/csw/2.0.2",
|
csw: "http://www.opengis.net/cat/csw/2.0.2",
|
||||||
dc: "http://purl.org/dc/elements/1.1/",
|
dc: "http://purl.org/dc/elements/1.1/",
|
||||||
dct: "http://purl.org/dc/terms/",
|
dct: "http://purl.org/dc/terms/",
|
||||||
|
geonet: "http://www.fao.org/geonetwork",
|
||||||
|
ogc: "http://www.opengis.net/ogc",
|
||||||
ows: "http://www.opengis.net/ows",
|
ows: "http://www.opengis.net/ows",
|
||||||
ogc: "http://www.opengis.net/ogc"
|
xlink: "http://www.w3.org/1999/xlink",
|
||||||
|
xsi: "http://www.w3.org/2001/XMLSchema-instance"
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -233,6 +234,17 @@ OpenLayers.Format.CSWGetRecords.v2_0_2 = OpenLayers.Class(OpenLayers.Format.XML,
|
|||||||
var record = {type: "Record"};
|
var record = {type: "Record"};
|
||||||
this.readChildNodes(node, record);
|
this.readChildNodes(node, record);
|
||||||
obj.records.push(record);
|
obj.records.push(record);
|
||||||
|
},
|
||||||
|
"*": function(node, obj) {
|
||||||
|
var name = node.localName || node.nodeName.split(":").pop();
|
||||||
|
obj[name] = this.getChildValue(node);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"geonet": {
|
||||||
|
"info": function(node, obj) {
|
||||||
|
var gninfo = {};
|
||||||
|
this.readChildNodes(node, gninfo);
|
||||||
|
obj.gninfo = gninfo;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dc": {
|
"dc": {
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
function test_read(t) {
|
function test_read(t) {
|
||||||
|
|
||||||
t.plan(14);
|
t.plan(16);
|
||||||
|
|
||||||
var obj = format.read(csw_response);
|
var obj = format.read(csw_response);
|
||||||
|
|
||||||
@@ -72,6 +72,10 @@
|
|||||||
t.eq(bbox.crs, "::Lambert Azimuthal Projection", "check value for BoundingBox.crs");
|
t.eq(bbox.crs, "::Lambert Azimuthal Projection", "check value for BoundingBox.crs");
|
||||||
t.eq(bbox.value, [156, -3, 37, 83], "check value for record.BoundingBox");
|
t.eq(bbox.value, [156, -3, 37, 83], "check value for record.BoundingBox");
|
||||||
|
|
||||||
|
// test gninfo
|
||||||
|
testRecord = records[1];
|
||||||
|
t.ok(testRecord.gninfo, "object contains gninfo properties");
|
||||||
|
t.eq(testRecord.gninfo.schema, "iso19139", "check value for schema property in record.gninfo");
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -37,6 +37,10 @@ var csw_response =
|
|||||||
'<ows:LowerCorner>51.1 -34.6</ows:LowerCorner>' +
|
'<ows:LowerCorner>51.1 -34.6</ows:LowerCorner>' +
|
||||||
'<ows:UpperCorner>-17.3 38.2</ows:UpperCorner>' +
|
'<ows:UpperCorner>-17.3 38.2</ows:UpperCorner>' +
|
||||||
'</ows:BoundingBox>' +
|
'</ows:BoundingBox>' +
|
||||||
|
'<geonet:info xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gml="http://www.opengis.net/gml">' +
|
||||||
|
'<id>859</id>' +
|
||||||
|
'<schema>iso19139</schema>' +
|
||||||
|
'</geonet:info>' +
|
||||||
'</csw:BriefRecord>' +
|
'</csw:BriefRecord>' +
|
||||||
'</csw:SearchResults>' +
|
'</csw:SearchResults>' +
|
||||||
'</csw:GetRecordsResponse>'
|
'</csw:GetRecordsResponse>'
|
||||||
|
|||||||
Reference in New Issue
Block a user